Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 00:48 11.07.25 
Компютри и Интернет
   >> PHP
*Кратък преглед

Страници по тази тема: 1 | 2 | (покажи всички)
Тема $_RQUEST ?!?нови  
АвторUnit-731 (Нерегистриран)
Публикувано15.11.04 13:21



Въпроса ми е следният : "Има ли смисъл да използвам $_POST и $_GET в скриптовете, които съзадавам, при положение, че имам на разположение $_REQUEST. T.e. има ли смисъл да си правя целия скрипт да ползва само един метод ? Сигурност, портативност... незнам... вие кажете.



Тема Re: $_RQUEST ?!?нови [re: Unit-731]  
Автор Bълk (по-нов и по-лош)
Публикувано15.11.04 13:26



с пост или гет можеш да разделиш начина на получаване на параметри в скрипта. Например когато имаш "гет ид" ще ти се изпълнява една част от скрипта а при "пост ид" ще е другата.



Тема Re: $_RQUEST ?!?нови [re: Unit-731]  
Автор $burov (начинаещ)
Публикувано15.11.04 14:03



Според мен, използването на $_REQUEST е пробив в сигурността на твоя скрипт. Ако използваш $_REQUEST ти абсолютно елиминираш директивата

register_globals = Off



Тема Re: $_RQUEST ?!?нови [re: Bълk]  
АвторUnit-731 (Нерегистриран)
Публикувано15.11.04 14:42



Би ли ми дал някакъв кратък практически пример, когато би ми се наложило да използвам това разделяне?
Аз все още не съм схванал напълно и разликата между двата метода (кой при какви условия е подходящ), освен, че единия праща в хедъра, а другия в урл-то.



Тема в общи линии е нещо от роданови [re: Unit-731]  
Автор Bълk (по-нов и по-лош)
Публикувано15.11.04 14:53



if(isset($_GET['action'])):
switch($_GET['action']):
case "delete":
if(!isset($_GET['id'])): header("location:".$_SERVER['PHP_SELF']);exit; endif;
// delete operation dependecies display for an operation confirmation
// display of the form with hidden field 'action=delete' and hidden field 'id=$_GET['id']'
break;
endswitch;
elseif(isset($_POST['action'])):
switch($_POST['action']):
case "delete":
if(!isset($_POST['id'])): header("location:".$_SERVER['PHP_SELF']); exit; endif;
mysql_query("DELETE FROM sometable WHERE something='".$_POST['id']."'")
break;
endswitch;
else:
// full list with action link
endif;



Тема Re: $_RQUEST ?!? [re: $burov]  
Автор phpGuruАдминистратор (член)
Публикувано15.11.04 15:30



ами не си прав!! (само да спомена аз много рядко ползва _POST и _GET ... само когато ми се налага ;-))

не е същото като с директивата register_globals = Off

защото там основно се предпазваш от нещо като

if ($username == 'ceco') { $login = true; }
if ($login) { echo 'you are logged';}

а тук ще се предпазиш пак защото кода ще е

if ($_REQUEST['username'] == 'ceco') { $login = true; }
if ($login) { echo 'you are logged';}

т.е. пак си се предпазил някой да направи http://xxxxxxx/test.php?login=1

т.е. за никакво елиминиране не става дума



Тема Re: $_RQUEST ?!?нови [re: phpGuru]  
АвторUnit-731 (Нерегистриран)
Публикувано15.11.04 17:13



E, ако страницата ти test.php съдържа кода:

if ($username == 'ceco') { $login = true; }
if ($login) { echo 'you are logged';}

не виждам как се предпазваш по този начин от http://xxxx/test.php?login=1
T.e. oсвен със сесии, друг начин не виждам.



Тема Re: $_RQUEST ?!?нови [re: Unit-731]  
Автор phpGuruАдминистратор (член)
Публикувано15.11.04 17:38



примера е елементарен, дори не е пример за подръжка

идеата на $_REQUEST, $_GET, $_POST когато опцията в php.ini

register_globals = Off

е, че няма да имаш никоя обикновенна променлива неинициализирана (защото не си обърнал внимание или забравил) да бъде инициализирана през URL

т.е. варианта който си копирал без $_REQUEST е принципно опасен
а другият не ..... (примера е супер елементарен важен е принципа ;-))



Тема Re: $_RQUEST ?!?нови [re: Unit-731]  
Автор phpGuruАдминистратор (член)
Публикувано15.11.04 17:47



а по върпоса дали $_REQUEST или $_POST/$_GET

аз ползвам предимно $_REQUEST (щото по-лесно ;-)) освен в някои случаи, когато се налага да знаеш дали е по $_GET или $_POST, но тва е рядкост



Тема Re: $_RQUEST ?!?нови [re: phpGuru]  
Автор $burov (начинаещ)
Публикувано15.11.04 22:24



Здрасти Гуру,
признавам си че писах наизуст и след твоите постинги взех че попрочетох това онова от мануала. Стигнах до извода, че вариантите са два, според стойността на register_globals

1. Ако register_globals = Off - ти си прав, в общия случай.

2. Ако register_globals = On стигнах до:





If the register_globals directive is set, then these variables will also be made available in the global scope of the script; i.e., separate from the $_REQUEST array.

.....

If you don't care where the request data comes from, you can use $_REQUEST as it contains a mix of GET, POST and COOKIE data.

.....

Of course, simply turning off register_globals does not mean your code is secure.



което ще рече, че при включени register_globals, най-добре забрави за $_REQUEST, а по-добре е да се проверява от къде идва променливата, от кой глобален масив. Лично мое мнение. Дали ще използваш $_GET, $_POST или само $_REQUEST зависи все пак и от нивото на защита, което се изисква от съответното приложение.




Страници по тази тема: 1 | 2 | (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.