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

Форум PHP

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

 

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

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

тема: Обрабатывание GET'а
 
 автор: Sergeous   (11.07.2007 в 13:03)   письмо автору
 
 

Правильно ли так обрабатывать переменну передающиеся методом GET?


$_GET['cat']= addslashes(htmlspecialchars($_REQUEST["cat"], ENT_QUOTES));


Ну а потом уже ее использовать по назначению...

   
 
 автор: bronenos   (11.07.2007 в 13:33)   письмо автору
 
   для: Sergeous   (11.07.2007 в 13:03)
 

что содержится в переменной и куда она пойдет?

   
 
 автор: Ralph   (11.07.2007 в 13:52)   письмо автору
 
   для: bronenos   (11.07.2007 в 13:33)
 

Вот именно,если в базу,то htmlspecialchars и нафиг не нужен.И вообще,с ним лучше не спешить,а выполнять перед самым выводом в браузер.Пример бездумного использования htmlspecialchars как раз у меня перед глазами.Сейчас переделываю чужой форум,там ее пользовали перед записью в файл.Когда название темы слишком длинное,оно обрезается скриптом,и часто можно увидеть результат обрезки не Dolce & Gab...,а Dolce &am...

   
 
 автор: Ralph   (11.07.2007 в 13:57)   письмо автору
 
   для: Ralph   (11.07.2007 в 13:52)
 

а по умному надо было сначала обрезать строку,а уже при выводе делать Echo htmlspecialchars($a).И зачем вообще использовать параметр ent_quotes,если позже и одинарные,и двойные кавычки все равно заэкранируются функцией addslashes ? П.С многие(каюсь,и я в свое время)думают,что чем больше функций напустить на строку,тем безопаснее она будет...А надо просто сесть и разобраться,что какая функция делает,и от чего конкретно надо защищать

   
 
 автор: Sergeous   (11.07.2007 в 14:05)   письмо автору
 
   для: Ralph   (11.07.2007 в 13:52)
 

В переменно содержится грубо говоря раздел, т.е. index.php?cat=news или index.php?cat=articles и в зависимости от этого выводится содержимое,

т.е.

if ($_GET['cat']=="news")
{
....
}

if ($_GET['cat']=="articles")
{
....
}

   
 
 автор: bronenos   (11.07.2007 в 14:32)   письмо автору
 
   для: Sergeous   (11.07.2007 в 14:05)
 

так тут и не надо ничего обрабатывать.. как пришло так и читайте

   
 
 автор: Sergeous   (11.07.2007 в 15:18)   письмо автору
 
   для: bronenos   (11.07.2007 в 14:32)
 

Так а если кто нибудь попытается впихнуть туда взавредный код?

   
 
 автор: bronenos   (11.07.2007 в 15:25)   письмо автору
 
   для: Sergeous   (11.07.2007 в 15:18)
 

если делаете так как показали - ничего вам не грозит
ну и приведите пример такого кода..... ??

   
 
 автор: cheops   (12.07.2007 в 11:41)   письмо автору
 
   для: Sergeous   (11.07.2007 в 15:18)
 

Если GET-параметр не используется на прямую в инструкциях include, то злоумышленник ничего добиться не сможет.

   
Rambler's Top100
вверх

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