Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чем фильтруется POST запрос? 
:(
    Опции темы
InfMag
Дата 24.5.2006, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Вот, делаю сайт и появился один геморой.
У меня дома пост запросы идут как обычно, но если заливаю на хостинг, то на нем обрабатываются ковычки " и '. Потом они становятся вот так: \" и \'
У меня такое подозрение, что это зделано специально, чтобы не запортачили mysql базы, но я все свои запросы пропускаю через функцию mysql_escape_string() и что мне теперь делать?
Стоит просто писать так?:
Код

$_POST['var'] = str_replace('\"', '"', $_POST['var']);
$_POST['var'] = str_replace("\'", "'", $_POST['var']);
  

Это сообщение отредактировал(а) InfMag - 24.5.2006, 16:17
PM   Вверх
Vaulter
Дата 24.5.2006, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



InfMag, это настройка в php.ini
magic_quotes
кажется так зовется.
просто придется проверять или попробуй отключить в начале всех скриптов (set_magic_quotes_runtime) 


--------------------
PM MAIL WWW ICQ   Вверх
InfMag
Дата 24.5.2006, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Vaulter, как именно отключить? 
PM   Вверх
sugee
Дата 24.5.2006, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 12.6.2005

Репутация: 1
Всего: 4



set_magic_quotes_runtime ( 0 ); 
PM MAIL   Вверх
Vaulter
Дата 24.5.2006, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



InfMag,  smile  


--------------------
PM MAIL WWW ICQ   Вверх
InfMag
Дата 24.5.2006, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



sugee, не помогло, счас буду плакатЪ  smile

Добавлено @ 17:23 
Может все-таки на хостинге ограничения? Надо проверить на другом.

Добавлено @ 17:36 
Ни на том ни на другом сервере магиг квотез не отключается... smile
Есть еще варианты? 
PM   Вверх
Vaulter
Дата 24.5.2006, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



InfMag, сделай проверку
Код

if(get_magic_quotes_runtime()) 
 while(list($ind,$val) = each($_POST))
  $_POST[$ind] = str_replace(array('\\"','\\\''),array('"',"'"),$val);

если не углядел:
первый параметр аррэй с
1. заслэшенным слэшем и дв. кавычкой
2. заслэшенным слэшем и од. кавычкой

второй, на что менять
1. дв. кавычка
2. од. кавычка

в принципе, не гарант, что все работает smile
проверяй, эксперементируй 


--------------------
PM MAIL WWW ICQ   Вверх
InfMag
Дата 24.5.2006, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Vaulter, а почему тут написано именно 2а слэша и для одинарной 3и?

Добавлено @ 18:25 
Блин, никак не хочет работать.
Я даже попробовал по одному слэшу поставить. никак...
Код

<?php
    if (get_magic_quotes_runtime())
        while (list($ind, $val) = each($_POST))
            $_POST[$ind] = str_replace(array('\"', "\'"), array('"', '"'), $val);
?>
 
PM   Вверх
Mal Hack
Дата 24.5.2006, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Господи, зачем все так сложно... runtime несколько другое, тут
magic_quotes_gpc надо обрабатывать. И делсть array_reqursive, а не while'ы писать. 
PM ICQ   Вверх
InfMag
Дата 24.5.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Mal Hack, не понял, писать просто magic_quotes_gpc(0) или же так?:
Код

<?php
    if (magic_quotes_gpc())
        array_reqursive(list($ind, $val) = each($_POST))
            $_POST[$ind] = str_replace(array('\"', "\'"), array('"', '"'), $val);
?>
 
PM   Вверх
InfMag
Дата 24.5.2006, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Mal Hack, Все то что я попробовал не работает, а если писать:
Код

    if (magic_quotes_gpc())
        array_reqursive(list($ind, $val) = each($_POST))
            $_POST[$ind] = str_replace(array('\"', "\'"), array('"', '"'), $val);

То все встает в ступор и страница вобще дальше не выводится. 
PM   Вверх
Mal Hack
Дата 24.5.2006, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



InfMag, а ты в мануале почитай, что делает array_reqursive. 
PM ICQ   Вверх
InfMag
Дата 24.5.2006, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Mal Hack, Спасибо канешь, но я уже вот чем обошелся:
Код

<?php
    if (get_magic_quotes_gpc() == 1)
        while (list($ind, $val) = each($_POST))
            $_POST[$ind] = stripslashes($val);
?>

Работает! Ура! smile

Mal Hack, +1 
PM   Вверх
Mal Hack
Дата 24.5.2006, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Господи, ну блин,НУ ЗАЧЕМ Я ДАВАЛ array_reqursive ??????

Добавлено @ 20:54 
array_walk тобишь
Код
if (get_magic_quotes_gpc() == 1)
array_walk( $_POST , "stripslaches" );

 
PM ICQ   Вверх
madFobos
Дата 24.5.2006, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 7.12.2005

Репутация: 1
Всего: 3



Не проще кинуть в папку файл .htaccess со строкой
php_flag magic_quotes_gpc Off
?
 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0582 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.