I'm making a custom CMS for a website I've been planning and security is a big concern.
I probably lack the expertise to fend off a full scale hacker social engineering his way into the server room but this is a list of what I've compiled from here and other sites to prevent hacking attempts please comment if anything here is lacking or if further steps should be taken
STAGE 1
using PDO to make database calls and htaccess to rewrite urls as to conceal things such as index.php?get=variable now is myurl.com/get/variable
and aforementioned variable is passed through PDO as outlined here
moving database queries and functions into folders that deny HTTP access and lock certain admin functions behind a server usergroup which only the few will be trusted with access to.
All passwords are encrypted and will never be decrypted for plain text as I have no sane reason to need to read other peoples passwords.
Login and user creation stop gaped by an IP address auto lockout based on X amount of attempts and reCapatcha
Stage 2
these steps find a home mostly because I intend to one day distribute this software and don't want egg on my face
User tracking to prevent finding files and logging intrusion attempts
IP tracking to prevent XXS hijacking and possible behavior monitoring for similar reasons
I'd think of more but my brain is now jumping to requiring two stage facial recognition and a DB of state ID's