|
|
|
| Как можео сделать фильтр адресной строки, чтоб пропускал только разрешённые переменные, а остальные блокировал? | |
|
|
|
|
|
|
|
для: GлюК
(30.01.2006 в 15:23)
| | Под разрешёнными символами что имеется ввиду? | |
|
|
|
|
|
|
|
для: cheops
(30.01.2006 в 15:28)
| | Не символы, а переменные. Ну например я хочу, чтобы моя страница пропускала переменные razd и page из строки адреса. Как сделать чтобы прошли только они , а например если туда вписать, скажем, status, эту переменную просто не пропустило к моему скрипту. | |
|
|
|
|
|
|
|
для: GлюК
(30.01.2006 в 21:11)
| | Хм... а вы просто не используйте параметр status... | |
|
|
|
|
|
|
|
для: cheops
(31.01.2006 в 02:51)
| | Вы меня наверно просто не поняли. Я имел ввиду, что кто-то в адресе (test.ru/index.php?status=admin) пропишет такую вещь и получит статус админа. Как можно сделать чтобы все переменные пришедшие из строки адреса стирались, кроме, допустим, "page" и "id". | |
|
|
|
|
|
|
|
для: GлюК
(31.01.2006 в 16:08)
| | Хм... Странно как-то.
Как у вас реализованна авторизация?
можно просто сделать:
| |
|
|
|
|
|
|
|
для: TrunK
(31.01.2006 в 16:27)
| | Да авторизация то через сессию, тем более "status" это было для примера. В строке можно же любую переменную написать, это получается все, что у меня есть вначале надо приравнивать к пустоте... эт не рационально. Задам вопрос подругому: Как разделить всё что после "?" (test.ru/index.php?peremennaja=1&...) на имя идентификатора(peremennaja) и на значение(1), учитывая что их может быть сколько угодно? | |
|
|
|
|
|
|
|
для: GлюК
(31.01.2006 в 17:47)
| | вверх | |
|
|
|
|
|
|
|
для: GлюК
(31.01.2006 в 17:47)
| | используйте register_globals off, и никакие лишние переменные будут вам не страшны. | |
|
|
|
|
|
|
|
для: Loki
(01.02.2006 в 16:13)
| | Вы наверное неверно поняли! Нужно чтоб пропускались например переменные page и error а остальные попросту говоря стирались! Вот и нужно как то проверить адресную строкуна содержимое после знака вопроса и если встречаются эти переменные то оставить их а если какието посторонние то стереть эти посторонние переменные! | |
|
|
|
|
|
|
|
для: m@rchello
(02.02.2006 в 12:02)
| | Хм... ну можно пройтись в цикел по массиву $_GET и потереть неугодные переменные при помощи функции unset()... | |
|
|
|
|
|
|
|
для: cheops
(02.02.2006 в 14:07)
| | А можете на примере это показать?? | |
|
|
|
|
|
|
|
для: m@rchello
(02.02.2006 в 15:33)
| |
<?
foreach ($_GET as $KEY=>$VAL)
{
if ($key!=a || $key!=b|| ....) // a и b - названия разрешенных переменных
unset($_GET[$key]);
}
?>
|
| |
|
|
|
|
|
|
|
для: Loki
(02.02.2006 в 16:30)
| | Огромное пасибо!!! | |
|
|
|
|
|
|
|
для: GлюК
(02.02.2006 в 21:08)
| | только у меня ошибка в скрипте. должно быть:
if ($key!=a && $key!=b && ....)
|
| |
|
|
|
|
|
|
|
для: Loki
(02.02.2006 в 21:24)
| | Насчёт этого я сам понял, а вот unset почему-то у меня не работает. Я пробую её ниже вывести а она просто переменная остаётся. | |
|
|
|
|
|
|
|
для: GлюК
(03.02.2006 в 16:15)
| | а как вы задаете a и b?
их надо без доллара в начале и взять в кавычки. то есть просто как текст. | |
|
|
|
|
|
|
|
для: Loki
(03.02.2006 в 16:40)
| | Я так и делаю! Но всё-равно не работает. Unset может быть как-то отключен или что-нибудь ещё??? | |
|
|
|