Просмотр полной версии : Как отключить magic_quotes_gpc в PHP?
Как отключить magic_quotes_gpc (добавление слешей перед спецсиволами в передаваемых данных)?
Советуют использовать функции get_magic_quotes_gpc() и stripslashes(). Но это что же, перебирать все переменные???:eek:
А есть другой способ или скрипт, который обрабатывал бу все переменные одним махом?
Отключить можно изменением одноименной переменной в php.ini (через php.ini или .htacess) . Сама данная ф-ия работает прозрачно и ненадо делать ни addslashes ни stripslashes.
А какую строчку нужно добавить в .htacess ?
(насчет php.ini я уже разобрался, но вопрос с сервером у хостера - туда же я не полезу :) )
<IfModule mod_php4.c>
php_value magic_quotes_gpc off
</IfModule>
Списибо, но в моем случае это не помогло
Видимо это когда PHP установлен модулем на Apache? ( у меня случай с отделоно установленным)
medved2002
19.09.2003, 17:00
ini_set("magic_quotes_gpc", "0");
ini_set("magic_quotes_gpc", "0");
С каких это пор magic_quotes_gpc стал PHP_INI_ALL ?
у меня случай с отделоно установленнымПопробуй создать php.ini в директории со скриптом. Туда впиши параметр этот.
Попробуй следующее дело сделать:
1) создай в директории файл .htaccess (обязательно начинается с точки)
2) вставь в ного следующую строку: php_flag magic_quotes_gpc off
3) залей на сервак
если хостер разрешил использование файла .htaccess, то все должно прокатить
чтобы проверить сработало-ли:
1) создаешь PHP-файл со строкой <?php phpinfo(); ?>
2) заливаешь на сервак, запускаешь его
3) ищешь параметр magic_quotes_gpc, в столбце Local Value должно быть OFF
2 BiГ: Автор же сказал что PHP установлен не модулем.
Извиняюсь ... не углядел .... :ooh:
medved2002
23.09.2003, 18:28
И мои извинения... привык к коллакейшн.
Добавлено через 18 минут:
МОжет банально вот так сделать?
while (list ($key, $val) = each ($_GET)) {
eval('$_GET['.$key.']="'.stripslashes($val).'";');
}
Почитай самое первое сообщение ...
2Goryn: Вот, попробуй следующее, перебирает все не массивные переменные и stripslashes-ит их.
$a = 'test1: zzzzz\\zzzzz';
$b = 'test2: xxxxx\\xxxxx';
while (list ($key, $val) = each ($GLOBALS)) {
if (!is_array($val)) {
$GLOBALS[$key] = stripslashes($val);
}
}
print $a;
print '<BR>';
print $b;
vBulletin® v3.8.5, Copyright ©2000-2024, Jelsoft Enterprises Ltd.