Я бы сказал, что это слишком общее. Это может быть безопасным для многих применений, но часто приводит к нежелательным побочным воздействиям на строки. Не каждая строка должна быть экранирована таким образом.
mysql_real_escape_string()
следует использовать только в запросах SQL. Еще лучше, связать параметры с PDO.
- Зачем вам нужно обрезать теги и кодировать объекты перед вставкой в базу данных? Может быть, сделать это на выходе.
- Для предотвращения XSS,
htmlspecialchars()
больше вашего друга. Дайте ему набор символов в качестве аргумента.
Так что я бы использовал mysql_real_escape_string()
для запросов и htmlspecialchars()
для отображения строк, отправленных пользователем. Есть также еще много чего знать. Прочитайте для дальнейшего чтения .