Должен ли я всегда использовать полоски для переменных _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,
Другие вопросы по тегам