Is mysql_real_escape_string()
с sprintf
необходимо только на странице входа или в каждом mysql_query
после входа в систему, для предотвращения SQL-инъекции?Когда требуется mysql_real_escape_string()?
ответ
Вы должны использовать mysql_real_escape_string для любых предоставленных пользователем данных, которые будут запущены через SQL-запрос.
Скорее всего, вы не должны использовать 'mysql_ *' вообще. –
Это правда на сегодняшний день, не так много два года назад. : D – JadziaMD
Вы должны использовать mysql_real_escape_string() каждый раз, когда вы вставляете пользовательские данные в запрос или используете обертку базы данных, такую как PDO, которая может выполнять подготовленные операторы. Это было бы лучше, потому что они выполняют дезинфекцию для вас.
Если вы работаете над общей безопасностью своего сайта, это здорово и определенно необходимо. Если вы ищете причины, по которым ваш сайт был взломан, я сомневаюсь, что это было сделано с помощью SQL-инъекции, поскольку ваш фактический HTML-код был затронут (или, как я думал, я могу ошибаться). Это было бы возможно только в том случае, если ваш FTP-пароль хранился где-то в базе данных.
Используйте его, если вы не доверяете вводам. И никогда не доверяют пользователю.
В любого экземпляра, принимать пользовательский ввод, вы должны использовать mysqli_real_escape_string
на него, прежде чем отправить его в базу данных. Также полезно использовать trim()
на входе.
Я считаю, что -1 был для рекомендации mysql_real_escape_string. Исправлена –
- 1. Когда я НЕ должен использовать mysql_real_escape_string
- 2. Странная проблема, когда mysql_real_escape_string возвращается пустым
- 3. Нужно ли использовать mysql_real_escape_string(), когда magic_quotes_gpc включен?
- 4. mysql_real_escape_string function
- 5. reverse mysql_real_escape_string
- 6. mysql_real_escape_string & slashes
- 7. mysql_real_escape_string игнорируется
- 8. Undo mysql_real_escape_string
- 9. mysql_real_escape_string ВЫПУСК
- 10. Understading mysql_real_escape_string();
- 11. mysql_real_escape_string ошибка
- 12. mysql_real_escape_string \\\ синтаксис
- 13. mysql_real_escape_string и '
- 14. Замена mysql_real_escape_string():
- 15. mysql_real_escape_string с Zend
- 16. Sanitize форма контакта без mysql_real_escape_string
- 17. Когда требуется pygame.init()?
- 18. Аннотации: когда arrayOf требуется
- 19. Когда требуется понимание процессора?
- 20. Когда требуется «я»?
- 21. Когда требуется время жизни?
- 22. Когда требуется вызвать git_remote_update_tips?
- 23. Когда требуется файл.close()?
- 24. Когда требуется CAMLparamX?
- 25. Когда требуется блокировка
- 26. , когда требуется IPPROTO_UDP?
- 27. Когда требуется NSCopying?
- 28. Когда требуется «это»?
- 29. , когда `new` требуется Валы
- 30. Когда требуется обратное отслеживание?
Пожалуйста, не используйте функции 'mysql_ *' для нового кода. Они больше не поддерживаются, и сообщество начало процесс [устаревания] (http://goo.gl/KJveJ). См. [** красное поле **] (http://goo.gl/GPmFd)? Вместо этого вы должны узнать о [подготовленных утверждениях] (http://goo.gl/vn8zQ) и использовать либо [PDO] (http://php.net/pdo), либо [MySQLi] (http://php.net/ MySQLi). Если вы не можете решить, [эта статья] (http://goo.gl/3gqF9) поможет выбрать. Если вы хотите узнать, [это хороший учебник PDO] (http://goo.gl/vFWnC). –