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

Форум PHP

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

 

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

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

тема: защита $_GET
 
 автор: ronin   (13.11.2006 в 17:35)   письмо автору
 
 

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=5325&page=2
В теме поднят вопрос о защите $_GETпараметра

<?  
   
// Здесь можно и нужно добавить код, проверяющий  
   // содержимое переменной $_GET["file"]  
   // Вдруг вам хакер или просто любопытствующий туда  
   // что-нибудь не то передаст  
  
$filename $_GET["file"];  

Нельзя рассказать по-подробней?

   
 
 автор: kasmanaft   (13.11.2006 в 18:08)   письмо автору
 
   для: ronin   (13.11.2006 в 17:35)
 

Тут надо вам подстраиваться как-то ...
В $_GET["file"], как я понимаю, должно находиться имя картинки, которую нужно масштабировать. Вот смотря где у вас лежат картинки, какие у них (и у папок, к ним ведущим) могут быть имена, так нужно обработать.
Например, если скрипт лежит в той же папке, что и картинка, то в имени картинки не должно быть " / " ... если картинки, относительно скрипта, лежат в папке " images/ ", то надо посмотреть, чтобы именно с этого и начиналась переданная строка, и чтобы дальше были только разрешенные в именах файлов символы (опять же чтобы " / " не было ... и конечно же " ../ " )

Но даже если и не делать никаких проверок, то самое страшное что может произойти - кто-то масштабирует не ту картинку, что надо :)

   
 
 автор: ronin   (13.11.2006 в 18:25)   письмо автору
 
   для: kasmanaft   (13.11.2006 в 18:08)
 

кругом хакеры, становишься параноиком:)

   
 
 автор: Maks_   (14.11.2006 в 23:24)
 
   для: ronin   (13.11.2006 в 17:35)
 

Через url строку можно сделать sql-инъекцию или php-инклудинг, так что проверять эти данные надо обязательно!

   
 
 автор: kasmanaft   (15.11.2006 в 06:44)   письмо автору
 
   для: Maks_   (14.11.2006 в 23:24)
 

..... если данные из этой url строки заносятся в БД .....

   
 
 автор: ronin   (15.11.2006 в 13:03)   письмо автору
 
   для: kasmanaft   (15.11.2006 в 06:44)
 

А нельзя ли поподробней, в данном случае, этот файл создает уменьшеные копии, т.е. на ленте новостей идет ссылка на файл

imgresize.php?file=$img

$img - ссылается на запись в БД,, но фотка лежит в папке foto

   
 
 автор: kasmanaft   (15.11.2006 в 16:45)   письмо автору
 
   для: ronin   (15.11.2006 в 13:03)
 

А что может содержаться в $img ?
Если в БД записано имя картинки, то можно было бы ссылаться к ней по ее идентификатору (числовому). Тогда было бы просто обработать $img убрав из нее все кроме цифр.

   
Rambler's Top100
вверх

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