Должен ли я всегда использовать полоски для переменных _POST _GET и _COOKIE
Я очень запутался, когда прочитал о функции get_magic_quotes_gpc()
в PHP.
Везде говорится, что функция устарела ( пример).
Но каково поведение по умолчанию в PHP 5.3? Я имел обыкновение проверять, если magic_quotes_gpc
в и снял все косые черты, если это было так, в самом начале моего сценария для всех POST
, GET
а также COOKIE
переменные, чтобы я не запутался.
Но если я не должен проверять наличие дополнительных слешей, используя get_magic_quotes_gpc()
всегда удаляя косые черты, можно получить неверные данные, если косые черты не добавлены в PHP 5.3.
У меня такая же путаница с этим
В данный момент magic_quotes_gpc
на моем сервере (PHP 5.2.17), поэтому мне нужно удалить косую черту. Но как мне справиться с этим, чтобы подготовиться к будущим версиям PHP?
Могу ли я как-то установить значения по умолчанию в будущем во время выполнения в начале моего скрипта? Но каковы значения по умолчанию?
1 ответ
get_magic_quotes_gpc
функция не устарела, это magic_quotes_gpc
настройка конфига устарела.
Решение состоит в том, чтобы не использовать magic_quotes_gpc
Настройка конфигурации на вашем собственном сервере, но также использовать get_magic_quotes_gpc
если вы хотите написать надежный код, который будет работать на серверах, которые имеют устаревший magic_quotes_gpc
настройка включена.
Другими словами:
- Выключи
magic_quotes_gpc
в вашем конфиге. - Где бы вы ни использовали
stripslashes
, измените его только на вызовstripslashes
еслиget_magic_quotes_gpc() == 1
,