Как отключить allow_url_include?

danneo

Честный
Регистрация
13 Ноя 2007
Сообщения
1.526
Реакции
121
Написал хостеру. Он сказал, что при отключении этой функции, на одном из сайтов не будет работать мультисайтовость (автоматическое создание поддоменов, через поддомен: *.site.ru)?
С чем это связано? Хостер молчит...
 
А зачем отключать эту возможность? Скрипты апдейта, если такие есть, могут перестать работать.
Просто не понимаю, зачем себя ограничивать.
 
А зачем отключать эту возможность? Скрипты апдейта, если такие есть, могут перестать работать.
Просто не понимаю, зачем себя ограничивать.
да как бы безопасность...
 
да как бы безопасность...
Безопасность прежде всего в Ваших руках.
У меня 2 хостинга. Один постоянно обо мне «заботится», отключая подобные функции, и периодически его ломают (правда не мои скрипты, но соседей). Другой — включено всё, но о взломах не слышно. Иногда ддосят только, но это везде может случиться.
Мистика? Нет. Просто первый менее квалифицирован.
Совет: лучше скрипты защитите от инъекций. Если скрипт не защищён, взломают и зальют что хошь, никакое отключение allow_url_include не поможет. Если защищён, то включение ничего не ослабит.
Если сомневаетесь в защите — бекапьте почаще, это реально спасает. И храните архив как минимум в 2 местах.
И даже если не сомневаетесь в защите, всё равно бекапьте.
 
Как отключить allow_url_include?
allow_url_include - PHP_INI_SYSTEM - Значение может быть установлено в php.ini или httpd.conf
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

Написал хостеру. Он сказал, что при отключении этой функции, на одном из сайтов не будет работать мультисайтовость (автоматическое создание поддоменов, через поддомен: *.site.ru)?
С чем это связано? Хостер молчит...
Мультисайтовость такого рода настраивается через VirtualHost в apache или server_name nginx, зачем это для php?.. Могу предположить, что они создают подпапку для wildcard доменов с единственным файлом php, который инклюдит по юрлу основной домен, но это дикое извращение и вряд ли на это кто-то пойдёт в здравом уме. Всё же интересно будет если вы добьётесь от них внятного ответа.

Безопасность прежде всего в Ваших руках.
Все мы используем сторонние библиотеки и не всегда проводим аудит их безопасности...
У меня 2 хостинга. Один постоянно обо мне «заботится», отключая подобные функции, и периодически его ломают (правда не мои скрипты, но соседей). Другой — включено всё, но о взломах не слышно. Иногда ддосят только, но это везде может случиться.
Имхо, по умолчанию должно быть отключено, но должна быть возможность включения в настройках панели хостинга.

А зачем отключать эту возможность? Скрипты апдейта, если такие есть, могут перестать работать.
Просто не понимаю, зачем себя ограничивать.
Не стоит пользоваться цмс, которая апдейтит скрипты через include внешнего url. Для апдейта есть file_get_contents, curl и другие инструменты.
Совет: лучше скрипты защитите от инъекций. Если скрипт не защищён, взломают и зальют что хошь, никакое отключение allow_url_include не поможет. Если защищён, то включение ничего не ослабит.
Все могут допустить ошибку и не стоит давать шанс её воспользоваться, если этого можно избежать :)
 
Последнее редактирование:
Все мы используем сторонние библиотеки и не всегда проводим аудит их безопасности...
Да, Вы правы. У меня из сторонних PHP библиотек только PHPExcel и Sitemap generator, наверное поэтому упускаю из вида вариант, что у других может быть не так.
Однако моё глубокое убеждение, что если скрипт требует отключения чего-то там в конфигах «в целях безопасности», то этот скрипт дыряв. И нужно латать скрипт, а не конфиги. Я понимаю ещё файловые права или .htaccess нужно правильно настраивать — но функции удаленного доступа иногда реально нужны. Я например могу захотеть парсер или прокси. У меня даже в движке предусмотрен режим парсинга PHP в статьях — если моя левая пятка завтра захочет, могу код прокси прямо в движке написать, чтобы проверить как работает.
Специально погуглил как мжет реально навредить включение этой опции. Нашел Для просмотра ссылки Войди или Зарегистрируйся
4 тупейших ошибки в данном примере.
Причем в самом жёстком последнем случае
HTML:
<?php
$page = ($_GET['page']) ? $_GET['page'] : "index.php";
?>
<html>
  <head>
    <title>This is EVIL</title>
  </head>
  <body>

...anything here...

<?php include($page); ?>

...anything here...

  </body>
</html>
Здесь инклюд и взлом возможен и с отключенным allow_url_include. Если человек не экранирует данные, поступающие от пользователя, то он ССЗБ.
 
Последнее редактирование:
Мультисайтовость такого рода настраивается через VirtualHost в apache или server_name nginx, зачем это для php?.. Могу предположить, что они создают подпапку для wildcard доменов с единственным файлом php, который инклюдит по юрлу основной домен, но это дикое извращение и вряд ли на это кто-то пойдёт в здравом уме. Всё же интересно будет если вы добьётесь от них внятного ответа.
:)
latteo, как всегда в точку :)
техподдержка все исправила, когда речь пошла о конкретике
 
Назад
Сверху