Когда mysql_real_escape_string () необходимо? - PullRequest
0 голосов
/ 06 января 2010

Требуется ли mysql_real_escape_string() с sprintf только на странице входа или на каждом mysql_query после входа в систему для предотвращения внедрения SQL?

Ответы [ 4 ]

6 голосов
/ 06 января 2010

Вы должны использовать mysql_real_escape_string () каждый раз, когда вы вставляете опубликованные пользователем данные в запрос, или используете оболочку базы данных, такую ​​как PDO , которая может делать подготовленные операторы. Это было бы лучше, потому что они выполняют работу по очистке для вас.

Если вы работаете над общей безопасностью вашего сайта, это здорово и, безусловно, необходимо. Если вы ищете причины, по которым ваш сайт был взломан, я сомневаюсь, что это было сделано с помощью SQL-инъекции, так как это затронуло ваш реальный HTML-код (или я подумал, что могу ошибаться). Это будет возможно только в том случае, если ваш пароль FTP хранится где-то в базе данных.

5 голосов
/ 06 января 2010

Вы должны использовать mysql_real_escape_string для любых предоставленных пользователем данных, которые будут проходить через SQL-запрос.

3 голосов
/ 06 января 2010

Используйте его, если вы не доверяете вводу . И никогда не доверяет пользовательскому вводу.

0 голосов
/ 12 июня 2012

В любом экземпляре, который вы принимаете от пользователя, вы должны использовать mysqli_real_escape_string перед отправкой в ​​базу данных. Рекомендуется также использовать trim() на входе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...