Запрещается изменять переменные окружения для
# 1. Запрещается изменять переменные окружения для запускаемых программ, через putenv();
# 2. Запрещается запускать программы через exec(),
# находящиеся вне указанной директории, см. safe_mode_exec_dir в php.ini;
# 3. Файловые операции корректируются:
php_admin_value open_basedir "/www/имя_сайта/" php_admin_value doc_root "/www/имя_сайта/" # ни одна из файловых функций не сможет открыть файл, если он не входит
# в указаное поддерево (их, кстати, можно указать несколько).
# Подробнее на http://www.php.net/manual/en/features.safe-mode.php
# - disable_functions данная директива позволяет отключить некоторые функции
# (конечно можно это сделать при компиляции, но "геморроя" тогда больше), которые могут
# слишком много и быстро рассказать о конфигурации сервера, например phpinfo()
# или слишком много позволить пользователю, н.п. dl()
# Кстати, данная конструкция (как и некоторые другие, safe_mode_exec_dir)
# должна устанавливаться только из php.ini, т.е. глобальна в пределах одного Apache
# - На тему загрузки модулей есть специальная директива
# php_admin_flag enable_dl Off
# хотя в safe_mode функция dl() и так не доступна
# Кстати, программисту создающему сайт на домашнем сервере имеет смысл установить
# всё настройки (в том числе и по вопросам безопасности) так, как будто этот сервер,
# доступен всем Сетевым Ветрам - просто для того, чтобы потом на реальном сервере
# не вылезла какая-либо несовместимость конфигурации
# Подробности по настройке PHP
# см. http://www.php.net/manual/en/configuration.php#ini.safe-mode
# И последнее, что хотелось бы упомянуть на этут тему: если на Вашем сервере
# размещается несколько десятков или сотен серверов, и многое в их конфигурации
# однотипно, то стоит подумать над использованием одного из механизмов, подробнее
# описанных тут http://httpd.apache.org/docs/vhosts/mass.html
# а конкретно http://httpd.apache.org/docs/mod/mod_vhost_alias.html
#VirtualDocumentRoot "/www/%0/html"
# данная директива используется как шаблон в одном
<VirtualHost *></VirtualHost>
# для отработки нескольких серверов вместо DocumentRoot
# в нескольких
<VirtualHost *></VirtualHost>
# где %0 полное имя сервера, т.о. для заведения одного из типичных серверов
# достаточно будет только в нужном месте создать директорию... и все!
# Есть только одна проблема - в директиве php_admin_value %0 останется неизменным :(
# Ну, что ждём от Apache Team создание virtual_php_admin_value или напишем сами?
</VirtualHost>
Яцевич Роман, неважно кто по жизни
отдельное спасибо Бохонковичу Юрию, за консультации по безопасности систем на базе Unix/Linux-серверов а также Лебедеву Дмитрию, за то, что он открыл мне глаза на отнюдь не виртуальную проблему виртуальных директорий!
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий