Автор Тема: parse_str() и проверка переменных  (Прочитано 3660 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
parse_str() и проверка переменных
« : 22 Августа 2002, 12:36:15 »
Вопрос есть. Следующий.
Через parse_str() в скприт сообщаются данные (именно так, и так в данном случае надо)

Есть набор разрешенных имен переменных (их значения проверяются отдельно)

Можно ли как-то обезапаситься от лишних переменных?

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
parse_str() и проверка переменных
« Ответ #1 : 22 Августа 2002, 15:04:26 »
Сайт работает на ErrorDocument; POST и GET в открываемом по нему index.php запрещены. Все, включая меню, карту сайта и хлебные крошки генериться из шаблонов. Но для работы поиска надо сообщить несколько переменных.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
parse_str() и проверка переменных
« Ответ #2 : 22 Августа 2002, 16:15:55 »
спасибо.
я думаю, вместо парсе_стр
надо использовать собственную функцию.
ведь это совсем нетрудно сделать
эксплоде по &
по парам пробежаться проверкой значений, а остальное выкинуть на помойку.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
parse_str() и проверка переменных
« Ответ #3 : 22 Августа 2002, 16:21:36 »
RomikChef
хм... это идея.
Я так понимаю, готовой функции в php такой нет?
Что ж, тогда придется сделать.

Оффлайн KBA-KBA

  • Прыгает все время...
  • Постоялец
  • ***
  • Сообщений: 125
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cold.13pm.ru/
parse_str() и проверка переменных
« Ответ #4 : 24 Августа 2002, 04:58:41 »
сделаешь, выкинь сюда... PLZ

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
parse_str() и проверка переменных
« Ответ #5 : 24 Августа 2002, 09:17:50 »

// $urlvars - массив, с именами разрешенных переменных
function parsestr($url) {
global 
$urlvars;
$url explode(\'&\',substr($url,1,strlen($url)));
for($i=0; $i<count($url); $i++) {
list($name,$value) = explode(\'=\',$url[$i]);
if(in_array($name,$urlvars)) {
	
$GLOBALS[$name] = urldecode($value);
	
}
}
}

Оффлайн Доктор

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 487
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
parse_str() и проверка переменных
« Ответ #6 : 24 Августа 2002, 14:39:38 »
А нафига:
Цитировать
substr($url,1,strlen($url))

???

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
parse_str() и проверка переменных
« Ответ #7 : 24 Августа 2002, 15:58:38 »
Я думаю, это попытка избавиться от начального "?", хотя лучше было бы опустить третий аргумент.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
parse_str() и проверка переменных
« Ответ #8 : 24 Августа 2002, 16:04:43 »
Цитировать
это попытка избавиться от начального "?",

Тогда уж лучше так IMHO:
ltrim($url, "?");
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
parse_str() и проверка переменных
« Ответ #9 : 24 Августа 2002, 17:12:03 »
Alexandr
Это можно проделать тысяча и одним способом...
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
parse_str() и проверка переменных
« Ответ #10 : 25 Августа 2002, 20:28:48 »
Цитировать
Я думаю, это попытка избавиться от начального "?", хотя лучше было бы опустить третий аргумент.


именно , эт я не подумал :(

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28