Мой администратор сервера недавно обновился до PHP 5.3, и я получаю странную «ошибку» (или функцию , поскольку PHP у людей это есть). У меня было mysql_real_escape_string
вокруг большей части моих данных строковой формы по очевидным причинам безопасности, но теперь кажется, что это экранирование уже выполнено PHP.
Это выводит, если я введу, например, escape 'this test '
, escape \' this test \ '
. То же самое происходит, если я использую POST
вместо GET
.
Это напрямую связано с обновлением версии 5.3, или мой администратор активировал автоматический переключатель в php.ini?
Кроме того, я должен просто оставить его как есть (в случае, если это действительно хороший механизм защиты от сбоев, который правильно улавливает все переменные get и post), или я должен отключить его (если это вообще возможно!) и вернуться к mysql_real_escape_string
? Моя интуиция подсказывает мне, что подход 2 был бы лучшим, но подход 1 был бы в некоторой степени автоматическим. :)
РЕДАКТИРОВАТЬ: На самом деле мне нужно отключить его. Иногда я собираю данные формы и повторно отправляю их в форму клиента в случае, если что-то не так (например, отсутствует поле), поэтому я не хочу, чтобы у него / нее появлялись косые черты из ниоткуда.