Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Суперглобальные переменные
 
 автор: evgen_17   (17.02.2005 в 19:56)   письмо автору
 
 

Хотелось бы узнать, как именно их использовать...
Достаточно будет переделать традиционный пример из "Самоучителя PHP 5.0"
с их использованием, т.е. сделать так, чтобы этот скрипт работал с
register_global = off...
<?
echo ("HDD is $HDD");
echo ("CD-ROM is $CDROM");
?>
Как можно подробнее, если можно...
Извините... Стормозил, не там создал...

   
 
 автор: cheops   (17.02.2005 в 20:22)   письмо автору
 
   для: evgen_17   (17.02.2005 в 19:56)
 

Если данные передаются из формы методом GET
<form action=text.php method=GET>
HDD: <input type=text name=HDD><br>
CDROM: <input type=text name=CDROM><br>
<input type=submit>
</form>

то значания из формы попадают в суперглобальный массив $_GET, в качестве ключей которого выступают имена управляющий элементов из HTML-формы
<?
echo ("HDD is ".$_GET['HDD']);
echo (
"CD-ROM is ".$_GET['CDROM']);
?>


Если данные передаются из формы методом POST
<form action=text.php method=POST>
HDD: <input type=text name=HDD><br>
CDROM: <input type=text name=CDROM><br>
<input type=submit>
</form>

то значания из формы попадают в суперглобальный массив $_POST
<?
echo ("HDD is ".$_GET['HDD']);
echo (
"CD-ROM is ".$_GET['CDROM']);
?>


Вам вероятно будет интересно почитать тему по ссылке, где поясняются причины, почему было принято решение использовать суперглобальные переменные вместо обычных, которые вообще говоря гораздо удобнее...

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1309

   
 
 автор: evgen_17   (17.02.2005 в 20:26)   письмо автору
 
   для: cheops   (17.02.2005 в 20:22)
 

Если данные передаются из формы методом POST

<form action=text.php method=POST>
HDD: <input type=text name=HDD>
CDROM: <input type=text name=CDROM>
<input type=submit>
</form>

>то значания из формы попадают в суперглобальный массив
>$_POST
>

<?
echo (HDD is .$_POST['HDD']);
echo (
CD-ROM is .$_POST['CDROM']);
?>

>
А разве не так???
В аши приложения работают с откюченными глобальными переменными?

   
 
 автор: cheops   (17.02.2005 в 20:39)   письмо автору
 
   для: evgen_17   (17.02.2005 в 20:26)
 

А да... действительно, скопировалось :))) Да, все наши Web-приложения создаются с учётом отключённой директивы register_globals.

   
 
 автор: evgen_17   (17.02.2005 в 21:03)   письмо автору
 
   для: cheops   (17.02.2005 в 20:39)
 

И что, если их отключить, то скрипт невозможно будет взломать?

   
 
 автор: cheops   (17.02.2005 в 21:34)   письмо автору
 
   для: evgen_17   (17.02.2005 в 21:03)
 

>И что, если их отключить, то скрипт невозможно будет
>взломать?
Описанным выше способом нельзя, но существует большое число других способов взлома.

   
 
 автор: evgen_17   (18.02.2005 в 12:06)   письмо автору
 
   для: cheops   (17.02.2005 в 21:34)
 

Например? Какими способами ещё можно взломать и как от них защитится?

   
 
 автор: cheops   (18.02.2005 в 12:31)   письмо автору
 
   для: evgen_17   (18.02.2005 в 12:06)
 

Этому на нашем сайте посвящена специальная статья http://www.softtime.ru/info/articlephp.php?id_article=35, кроме того, так же стоит почитать статью http://www.softtime.ru/info/articlephp.php?id_article=36, если вы работаете с сессиями. В статьях приведены ссылки на другие источники, в которых тоже описываются возможные атаки и приёмы защиты. Авторы статей всегда на форуме - вы можете задавать по ним любые вопросы.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования