Я склонен использовать mysql_real_escape_string
, чтобы избежать возможного злонамеренного ввода пользователя.
Подготовленные операторы также достигают того же, поэтому, если вы обнаружите, что можете забыть избежать пользовательского ввода вручную, вы можете использовать подготовленные операторы, но через некоторое время после экранирования входов это становится второй натурой.
Если вы используете PHP-фреймворк, такой как CakePHP или CodeIgniter, они обычно предоставляют одинаковые функции. Например, Активные записи CodeIgniter позаботятся обо всей входной очистке для вас.
Дополнительная информация о безопасности:
Поскольку вы новичок в веб-разработке (как и я), также обратите внимание на XSS-инъекции , еще одну уязвимую точку.
Наконец, используйте защитный код. Это имеет гораздо большее значение в случае веб-разработки, поскольку ваш сайт доступен для общественности. В случаях, когда вы проверяете данные формы с помощью Javascript, выполните проверку в своем PHP-скрипте. Это может показаться излишним, но можно обойти JS (один из способов - просто отключить JS в браузере).
Соляные пароли во время хеширования, избегайте хеширования md5. Перейти на sha256, sha512 или bcrypt.
С безопасностью дело не в , если вы будете скомпрометированы, а скорее , когда вы будете скомпрометированы. Безопасность должна быть непрерывным, бесконечным процессом.