Как утверждают несколько человек, никогда не доверяйте пользовательскому вводу. Обеззараживая ввод, особенно поля имени пользователя и пароля, вы помогаете отразить атаки SQL-инъекций.
Для всего, что хорошо и свято, не храните имена пользователей или пароли в файлах cookie, они отправляются туда и обратно на сервер при каждом запросе, и любой, кто смотрит поток, может получить эти данные ... тогда вы в большая проблема.
Вот пара статей, которые вы должны прочитать о сессиях, безопасности и хэшировании - просто хэширования ваших паролей к SHA1 или MD5 недостаточно, заточите их, чтобы они стали еще более надежными. Нет такой вещи, как непробиваемая безопасность - даже если вы делаете ВСЕ правильно, кто-то может взломать ее - это неизбежно. Ваша задача состоит в том, чтобы сделать вещи настолько сложными, насколько это возможно, сломать / использовать.
Чем больше работы по взлому вашего сайта, тем более ценный ваш контент должен стоить усилий. Ваша задача - отговорить злоумышленников.
Эта статья содержит полезную информацию о создании уникальных отпечатков пальцев для ваших посетителей, помогает усложнить перехват сеансов - Руководство по безопасности PHP: Сеансы
В этой статье рассматриваются основные методы хеширования паролей и подсчета - Хеширование паролей
Это ни в коем случае не конец всему и быть всем - вы можете сделать карьеру, делая безопасность и тому подобное, но они являются хорошей отправной точкой. Кто-то здесь, возможно, может указать на более качественные / более продвинутые статьи, но я лично нашел их полезными для закрепления моего кода.