Программирование > PHP
Первостепенная Защита Сайта На Php
(1/1)
blacks:
Продолжаю изучение защиты сайта.
Недавно прочел несколько статей с предложением отключения некоторых функций PHP.
Но так как хостинг у меня только виртуальный и возможности править php.ini нет
Придется править .htaccess
Подскажите, поправте что не так. Что вкл а что выкл :) ?
Вот несколько директив / функций которые как я понял желательно отключить:
safe_mode
- проверяет владельца запущенного скрипта и если скрипт пытается открыть
какой-либо файл - делает это с правами этого владельца
--- Код: ---php_admin_flag safe_mode on
--- Конец кода ---
register_globals
- Запретить создание глобальных переменных из пользовательского ввода
если включена, переменные GET, POST, Cookie, Server будут регистрироваться как глобальные переменные.
Если директива выключена, то глобальный доступ можно получить через массивы $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS
--- Код: ---php_flag register_globals 0
php_value register_globals 0
--- Конец кода ---
allow_url_fopen
- запрет подключению сайта к удалённым страницам, скриптам.
это несколько замедлит работу программы - при каждом вызове *.php скриптов
будет происходить обращение к файлу .htaccess
--- Код: --- php_value allow_url_fopen 0
php_flag allow_url_fopen 0
--- Конец кода ---
phpinfo
запретить опасные функции:
--- Код: ---disable_functions=phpinfo,system,passthru,cmd
--- Конец кода ---
expose_php
- директива сообщает, может ли PHP оповещать пользователей о своем существовании на данном сервере, например, добавляя HTTP заголовок.
--- Код: ---expose_php off
--- Конец кода ---
max_filesize
Ограничить размер загружаемого файла на сервер
--- Код: ---upload_max_filesize = 2M
--- Конец кода ---
Ограничения на время работы
--- Код: ---max_execution_time = 30
--- Конец кода ---
Отключить вывод ошибок
И включить директиву записи ошибок в лог-файл сервера.
В результате такого запроса, становится известен путь к скрипту и имя файла.
Если нет доступа к php.ini, можно добавить в начало скрипта строку error_reporting(0); это подавит вывод ошибок.
--- Код: ---php_flag display_errors off
php_flag log_errors on
php_value error_log /home/ваш_путь/web/php_error.log
php_value error_reporting 2039
--- Конец кода ---
magic_quotes_gpc
- если включена, автоматически добавляет слеши к данным пришедшим от пользователя - из POST, GET запросов и cookie.
--- Код: ---php_flag magic_quotes_gpc 0
--- Конец кода ---
magic_quotes_runtime
- если включена, автоматически добавляет слеши к данным, полученным во время исполнения скрипта - например, из файла или базы данных.
--- Код: ---php_flag magic_quotes_runtime 0
--- Конец кода ---
Под вопросом:
php_value magic_quotes_sybase Off
php_value post_max_size 20M
php_value max_input_time 200
PS
Немного запутался в следующем:
1. safe_mode должен быть выключен или выключен?
2. функции должны включатся с помощью php_value или php_flag ? - поэтому некоторые примеры представлены в разных(двух) вариантах.
3. как включить некоторые функции в htaccess мне не удалось узнать поэтому они написаны в виде настроек для php.ini
alex007:
--- Цитировать ---safe_mode
- проверяет владельца запущенного скрипта и если скрипт пытается открыть
какой-либо файл - делает это с правами этого владельца
php_admin_flag safe_mode on
--- Конец цитаты ---
сейчас есть полутше защита - suphp и suEXEC
Навигация
Перейти к полной версии