Первостепенная защита Php

Продолжаю изучение защиты сайта.

Недавно прочел несколько статей с предложением отключения некоторых функций 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

Anonymous
Отправить
Ответ на: