Можно ли отключить волшебные кавычки без файла .htaccess или php.ini?

#php #backslash #magic-quotes #modx-evolution

#php #обратная косая черта #волшебные кавычки #modx-эволюция

Вопрос:

Один из моих клиентов размещает свой сайт на freeservers.com (хост, которого следует избегать любой ценой).

Хост не разрешает файлы .htaccess и не имеет редактируемого файла php.ini на сервере для редактирования.

Но у него есть magic_quotes . Который уничтожает все мои запросы POST.

Какие варианты у меня есть, чтобы отключить это по-прежнему?

Комментарии:

1. Какую версию PHP вы используете?

2. MagicQuotes больно, не так ли? 🙂

3. ha! Я парень из Rails. Только начал играть с PHP. Я предполагаю, что это одна из тех вех развития.

Ответ №1:

Можно ли отключить волшебные кавычки без файла .htaccess или php.ini?

Нет.

Который уничтожает все мои запросы POST.

Ничего страшного.
Перебирать массив $ _POST и разделять косые черты — это функция, состоящая всего из 5 строк, даже с рекурсией.
Или, я полагаю, вы можете поискать в google волшебные цитаты и подготовить это. Вы знаете, это было опубликовано здесь уже тысячи раз.

Ответ №2:

Вы все равно можете отключить его в PHP-скрипте, используя ini_set

вот так

 ini_set('magic_quotes_gpc',"0");
 

Но отключение или включение волшебных кавычек с помощью ini_set в PHP 5.3.0 устарело.

Комментарии:

1. В этом нет смысла, потому что к тому времени, когда вы сможете это сделать, переменные GPC уже были отфильтрованы.

2. и ini_set('magic_quotes_runtime', false); — хотя я так и не понял, почему в руководстве по PHP указано, что это a boolean и что значение по умолчанию равно «0» (строка «0») — что должно быть худшим false эквивалентом, который я когда-либо видел 😉

3. Обратите внимание, что это только для PHP <5.3.0.

4. @Hammerite — о да, facepalm не подумал об этом, прежде чем комментировать 🙂

Ответ №3:

Я никогда раньше не использовал PHP .. но я обнаружил, что если я помещу файл php.ini в любой каталог, где PHP получает POST-запрос .. и поместите в него эту строку.

 magic_quotes_gpc = Off
 

Проблема решена! Нет .htaccess и нет корневого файла php.ini..

Комментарии:

1. php.net/manual/en/configuration.file.per-user.php — интригующий, совершенно бесполезный для тех, у кого PHP скомпилирован в Apache, но, тем не менее, интересный. Я, конечно, никогда не сталкивался (и не нуждался) в этой функциональности.