Jump to content
  • 0

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


blacks
 Share

Question

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

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

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

я вообще не понимаю зачем тебе так загоняться для редактирования php.ini - у большинства нормальных хостингов все уже будет настроено, и регистрация глобальных переменных отключена и безопасный режим включен

Link to comment
Share on other sites

  • 0
я вообще не понимаю зачем тебе так загоняться для редактирования php.ini - у большинства нормальных хостингов все уже будет настроено, и регистрация глобальных переменных отключена и безопасный режим включен

Полезно для тех, кто настраивает php локально на машине.

Edited by Justnewone
Link to comment
Share on other sites

  • 0
Полезно для тех, кто настраивает php локально на машине.

Это правда, если 1 раз свой сервак дома поднять - это всю жисть на тебя работать будет.

Edited by Justnewone
Link to comment
Share on other sites

  • 0
Поэтому ты знаешь что творица у хостеров ну и т.д. А так не знал бы.

а еще бы знал что означает команда: restart apachectl если конечно есть рутовый доступ.

Edited by rus
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy