Форум: "Прочее";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];
Внизне присваеваится значение переменной. Найти похожие ветки
← →
php-er (2007-03-11 12:25) [0]Привет, на странице есть ссылка view.php?razd=1, на странице view.php не существет такой перемненной!! Почему? Пишу там - echo $razd - ничего не выводится..Помогите.
← →
Юрий © (2007-03-11 12:36) [1]http://www.phpfaq.ru/all#globals
← →
clickmaker © (2007-03-11 12:41) [2]глобальные переменные - это не есть очень хорошо.
Почему бы явно к ней не обращаться?
$v = $_GET["razd"];
← →
Юрий © (2007-03-11 12:42) [3]> [2] clickmaker © (11.03.07 12:41)
> глобальные переменные - это не есть очень хорошо.
Это не есть уже правильно. ;)
← →
php-er (2007-03-11 12:43) [4]ух ты, спасибо.
← →
Real © (2007-03-11 20:40) [5]
> Это не есть уже правильно. ;)
Да, и почему же?
← →
ПЧЁЛ (2007-03-11 20:43) [6]Ещё
print_r($_REQUEST);
print_r($_GET);
print_r($_POST);
подскажет много интересного.
← →
Юрий © (2007-03-11 21:18) [7]По умолчанию register_globals установлен в off, начиная с версии 4.2.0.
http://ru2.php.net/manual/ru/security.globals.php
К тому же, использование его сейчас, считается устаревшим подходом.
← →
Real © (2007-03-11 21:40) [8]
> По умолчанию register_globals установлен в off, начиная
> с версии 4.2.0.
> http://ru2.php.net/manual/ru/security.globals.php
> К тому же, использование его сейчас, считается устаревшим
> подходом.
Устаревший подход и неправильный подход - это не синонимы. Использование глобальных переменных - да, потенциально более опасно и хостеров чаще всего отключено. Если разработчик не уделяет внимания фильтрации данных приходящих извне (которые можно передать скрипту необязательно через параметры в строке запроса) то его не спасет и отключение глобальных переменных.
← →
Юрий © (2007-03-11 21:48) [9]> [8] Real © (11.03.07 21:40)
> Устаревший подход и неправильный подход - это не синонимы.
Неправильный подход, потому что у "хостеров чаще всего отключено", и отключено не просто так, к тому же, лишняя работа. ИМХО.
PS. Не буду спорить, у каждого свой взгляд.
← →
php-er (2007-03-12 06:40) [10]Хорошо, если это не слишком хорошо, подскажите как лучше?
есть 19 тематических разделов, пользователь выбирает ссылку и попадает в один из них, на этой странице (одна страница) переменная принимает значение, переданное ей из адресной строки, а она в свою очередь - учавствует в параметризованном вызове select-a всех записей с указанным значением раздела.Конечно, можно удалить данную переменную из строки, но я в скрипте прроверяю ее существование, да и если указать значение, в базе которого нет, запрос не вернет ведь записей.
Может сделать 19 каталогов, в каждом из которых есть страница, где явно присваетвается значение раздела, а затем подгружается скрипт запроса?
Вообщем, подскажите, какие есть еще варианты?
← →
Юрий © (2007-03-12 12:03) [11]> [10] php-er (12.03.07 06:40)
> Хорошо, если это не слишком хорошо, подскажите как лучше?
Обсуждение не относилось к$v = $_GET["razd"];
Делайте как сказал clickmaker, через $_GET.
> [10] php-er (12.03.07 06:40)
> да и если указать значение, в базе которого нет, запрос
> не вернет ведь записей.
На это надеяться не стоит. Например запрос:view.php?razd=1; drop table mypages;
В вашем коде:select * from mypages where id=$_GET["razd"]
Получается:select * from mypages where id=1; drop table myusers;
Так что проверка нужна. :)
← →
Юрий © (2007-03-12 12:08) [12]> [11] Юрий © (12.03.07 12:03)
> На это надеяться не стоит. Например запрос:
> view.php?razd=1; drop table mypages;
Конечно же:view.php?razd=1; drop table myusers;
← →
php-er (2007-03-12 13:35) [13]
> Конечно же:
> view.php?razd=1; drop table myusers;
спасибо...
только откуда злоумышленник узнает имя таблицы?
Получается мне нужно проверять переменную, не равно ли она одному значению из 19?
← →
Юрий © (2007-03-12 13:38) [14]> [13] php-er (12.03.07 13:35)
> Получается мне нужно проверять переменную, не равно ли она
> одному значению из 19?
Просто проверяйте, является ли она числом, или приводите к числу:$id = intval($_GET["razd"]);
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.057 c