Несколько недель назад я открыл дыру на общем сервере, и мой друг загрузил следующий PHP-скрипт:
<code><?php if(isset($_REQUEST['cmd'])) { echo "<pre>"; $cmd = ($_REQUEST['cmd']); system($cmd); echo "
Этот скрипт позволяет ему обрабатывать команды через переменные в URL.
Я отключил систему, помимо других функций, в файле php.ini в моем каталоге public_html. Это предотвратит запуск скрипта, если он находится в моем каталоге public_html, но не остановит его, если он находится в подкаталоге этого. Если я скопирую файл php.ini в подкаталог, он остановит его запуск из этого каталога.
У меня такой вопрос, как мне разрешить файлу php.ini влиять на все каталоги / подкаталоги моего сервера?
Вау! переместить файл php.ini для каждого каталога? Не знал, что ты мог бы сделать это.
Моя лучшая догадка (кто-то, пожалуйста, исправьте меня, если я ошибаюсь), php, вероятно, переопределяет глобальный файл php.ini с локальным набором правил для каждого каталога (очень похоже на .htaccess), так что в основном все, что вам нужно для этого нужно обновить ваши директивы php.ini до глобального php.ini (находится здесь в ubuntu: etc / php5 / apache2 / php.ini)
В качестве альтернативы, вы можете попробовать использовать .htaccess, чтобы добавить php-страницу ко всем страницам следующим образом:
ini_set('your_directive')
Конечно, убедитесь, что .htaccess, который вызывает prepend php, находится в корне, иначе вы застряли с той же проблемой.
/ * тр * 1010
Во-первых, выбрасывайте "друга", который выбирает такие сценарии.
Тогда беспокойтесь о защите вашего сервера. В вашей системе где-то есть мастер php.ini (часто это /etc/php.ini, но если это возможно в нескольких местах, проверьте php_info ()) Этот файл управляет настройками по умолчанию для вашего сервера. Также вы можете заблокировать локальные файлы настроек, которые разрешают переопределения.
Ты уверен? Я бы хотел, чтобы у меня был ваш провайдер. По умолчанию некоторые интернет-провайдеры предоставляют локальную копию файла ini в public_html, чтобы разрешить переопределения. Но cPanel обычно предоставляет только ссылку на значения по умолчанию для всего сервера.
Спасибо, ребята, ваши ответы были великолепны, но ответ был все время у меня под носом. Через cPanel я смог отредактировать свой сервер для использования одного файла php.ini.