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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Использование суперглобальных массивов в текстовой строке

Сообщения:  [1-10]   [11-16] 

 
 автор: cheops   (30.09.2005 в 12:42)   письмо автору
 
   для: Loki   (30.09.2005 в 10:52)
 

Да, можно прошить через HTML-форму сессию, как это описывается в статье Безопасное программирование на PHP

   
 
 автор: Loki   (30.09.2005 в 10:52)   письмо автору
 
   для: новичек   (30.09.2005 в 08:07)
 

Можно по рефферер - просто, но ненадежно.
А можно передать идентификатор сессии, но тогда вы проверите не конкретный файл, а только хост.

   
 
 автор: новичек   (30.09.2005 в 08:07)
 
   для: cheops   (29.09.2005 в 19:21)
 

и еще один вопросик, может немного не в тему.
как прописать, что бы проверилось что данные пришли имено с этого файла а не откуда то еще, вообще с другого хоста ?

   
 
 автор: cheops   (29.09.2005 в 22:34)   письмо автору
 
   для: axxil   (29.09.2005 в 20:44)
 

Тоже не зачем, единственное оправдание - увеличение читабельности, вроде как без action не очень сразу видно что куда будет отправляться - если прописать явно, сомнений не остаётся. Но это действительно лишняя лазейка...

   
 
 автор: axxil   (29.09.2005 в 20:44)   письмо автору
 
   для: новичек   (29.09.2005 в 19:24)
 

И всё равно не понятно зачем PHP_SELF?
что касается суперглобальных массивов
$sentvar в случае без них будет восприниматься как переменная метода GET так и как переменная метода POST т.е у два раза больше возможностей для злоумышленников.

   
 
 автор: новичек   (29.09.2005 в 19:46)
 
   для: cheops   (29.09.2005 в 19:28)
 

ок.
спасибо.
ну про двумерные массивы я речь сейчас и не веду.

   
 
 автор: cheops   (29.09.2005 в 19:28)   письмо автору
 
   для: новичек   (29.09.2005 в 19:24)
 

Вы правы, не зачем... правда иногда встречаются двумерные массивы $_POST[user][0] и возникает потребность в динамических индексах $_POST[user][$i] - вот такие конструкции по второму варианту уже не пройдут.

   
 
 автор: новичек   (29.09.2005 в 19:24)
 
   для: Axxil   (29.09.2005 в 17:31)
 

по поводу вот этого

$sql="SELECT * FROM table WHERE ".$_POST['user']." ORDR BY и т.д.";

хочу спросить, зачем городить вот этот огород ".$_POST['user']." когда все прекрасно работает вот так

$sql="SELECT * FROM table WHERE '$_POST[user]' ORDR BY и т.д.";

так же по поводу этого

<? 
if(!isset($sentvar)) { 
echo 
"<form action=\"$PHP_SELF\" method=\"post\">"
echo 
"<input type=\"text\" name=\"sentvar\" value=\"1\"><br>"
echo 
"<input type=\"Submit\" value=\"Отправить\"></form>"
} else { 
echo 
"Переменная \$sentvar успешно передана скрипту и имеет значение: $sentvar"

?>

к чему городить слеши когда вот так проще и читается удобнее

<? 
if(!isset($sentvar)) { 
?>
<form action="$PHP_SELF" method="post"> 
<input type="text" name="sentvar" value="1"><br>
<input type="Submit" value="Отправить"></form>
<?
} else { 
echo 
"Переменная \$sentvar успешно передана скрипту и имеет значение: $sentvar"

?>

   
 
 автор: cheops   (29.09.2005 в 19:21)   письмо автору
 
   для: DDK   (29.09.2005 в 17:10)
 

Проще, но код более уязвим для взлома, поэтому со временем прямой передачи в переменные в PHP вообще не будет - всё будет на суперглобальных переменных. Подробности в теме по ссылке [url]://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1309[/url]

   
 
 автор: Axxil   (29.09.2005 в 17:31)   письмо автору
 
   для: DDK   (29.09.2005 в 17:10)
 

Всвязи с этим возник побочный вопрос.
Не в первый раз вижу запись типа

<form action=\"$PHP_SELF\" method=\"post\"> 

Не понимаю нафига $PHP_SELF ?
Форма и так в ту же страницу вернётся если вообще не указывать action
Или тут есть хитрый смысл?

   

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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