Gaist-Endruy
( off
)
(
08:44 28-10-2009
)
В PHP есть ряд специальных функций для работы со строками, применимых для этой цели. Вот они:
Gaist-Endruy
( off
)
(
08:44 28-10-2009
)
strip_tags() – вырезает теги HTML и PHP из строки.
Gaist-Endruy
( off
)
(
08:44 28-10-2009
)
htmlspecialchars() — конвертирует только специальные символы (’’, ‘”‘, ”’, ‘<’ и ‘>’) в HTML сущности (’amp;’, ‘quot;’…). Используется для фильтрации вводимых пользователем данных для защиты от XSS-атак.
Gaist-Endruy
( off
)
(
08:44 28-10-2009
)
htmlentities() – конвертирует все символы в строке (кроме букв) в мнемоники HTML. Используется для защиты от XSS, являясь более гибким аналогом htmlspecialchars.
Gaist-Endruy
( off
)
(
08:45 28-10-2009
)
stripslashes() – удаляет заэкранированные символы (после преобразования в сущности предыдущими функциями их незачем экранировать). Обычно используется в связке с проверочной функцией get_magic_quotes_gpc(), показывающей текущую установку конфигурации magic_quotes_gpc.
Gaist-Endruy
( off
)
(
08:45 28-10-2009
)
Эта конфигурация влияет на то, как будут обрабатываться специальные символы, содержащиеся в данных, передаваемых пользователем (массивы $$_GET, $$_POST, $$_COOKIE). При magic_quotes_gpc = 1 эти спецсимволы (одиночные и двойные кавычки, обратный слэш, байт NULL) автоматически экранируются. При magic_quotes_gpc = 0 все данные передаются в таком виде, в каком их ввел пользователь. В последнем случае в целях безопасности требуется обрабатывать передаваемые данные.
Gaist-Endruy
( off
)
(
08:45 28-10-2009
)
mysql_real_escape_string – мнемонизирует специальные символы в строке для использования в операторе SQL с учётом текущего набора символов в кодировке соединения. Иными словами, функция превращает любую строку в правильную и безопасную для MySQL-запроса. Используется для очистки всех данных, передающихся в MySQL-запрос для защиты от SQL-инъекций.
Gaist-Endruy
( off
)
(
08:45 28-10-2009
)
На основе этих данных, можно собрать функцию для однозначной очистки непроверенных данных. Эта функция получает две переменные – строку с введёнными символами и булево значение для определения – требуется ли приведение к MySQL-запросу. Возвращает функция очищенную строку. Конечно, это не панацея, но функцию легко изменить под собственные нужды.
Gaist-Endruy
( off
)
(
08:45 28-10-2009
)
фильтр от XSS и SQL-инъекций.
Прикрепленный файл .txt:
скачать
(1.2Kb)
Gaist-Endruy
( off
)
(
08:46 28-10-2009
)
Исправления ошибок: