Это функция санитизации, используемая в книге, которую я недавно узнал из – Sams Teach Yourself Ajax, JavaScript и PHP All in One .
Я использую его на своем собственном сайте PHP. Безопасно ли это для использования в реальном мире?
function sanitizestring($var) { $var = strip_tags($var); $var = htmlentities($var); $var = stripslashes($var); return mysql_real_escape_string($var); }
Я бы сказал, что это слишком общее. Он может быть безопасным для многих применений, но он часто дает нежелательные побочные эффекты для строк. Не каждая строка должна быть экранирована таким образом.
mysql_real_escape_string()
следует использовать только в SQL-запросах. Еще лучше привяжите параметры с PDO. htmlspecialchars()
больше относится к вашему другу. Дайте ему набор символов в качестве аргумента. Поэтому я хотел бы использовать mysql_real_escape_string()
для запросов и htmlspecialchars()
для повторения переданных пользователем строк. Существует также гораздо больше информации. Сделайте некоторые дополнительные чтения .
Вы также можете рассмотреть фильтр-вход с теми фильтрами, которые применяются к этой области .