Безопасность htaccess

Запрещенные запросы через файл .htaccess.

 

Содержание:

Обеспечение Specific Filetypes.

Выполнение сценария "Предотвратить".

Варианты: -ExecCGI.

Использование переменной REDIRECT_STATUS.

REDIRECT_STATUS.

Управление доступом.

Запретить» REDIRECT_STATUS не 200.

Запретить Запросы с mod_rewrite.

Обеспечение безопасности отдельных каталогов с помощью файла .htaccess.

Безопасность htaccess

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

.Htaccess обеспечивает защиту любого каталога, которые требуют снисходительного решения с настройками, (например, 760, 766, 775 или 777). Вы можете запретить выполнение скриптов, внутри каталога и всех его подкаталогов. Также у вас имеется возможность предотвратить любые другие функции определенного типа, которые могут быть вписаны в файл, запретить, таким образом, доступ к ресурсу.

Обеспечение Specific Filetypes (Конкретных типов файлов).

Следующий фрагмент кода предотвращает любые другие, изменения файлов, таких как .jpeg, JPG, PNG или .gif, ставя защиту на каталог и подкаталоги.

<Files ^ (* JPEG |. * .jpg | * .png | * .gif)>

   Order deny, allow

    deny from all

</ Files>

Этот пример использует специальную директиву FilesMatch для разрешения некоторых типов файлов, которые могут быть доступны, или же, можно изменить разрешения:  «Запретить» и «Запретить весь доступ».

<FilesMatch "\. (ICO | PDF | FLV | JPG | JPEG | mp3 | mpg| mp4 | mov | WAV | WMV | PNG | GIF | SWF

| CSS | JS) $">

Allow from all

</ FilesMatch>

Выполнение сценария "Предотвратить":

Следующий код помогает предотвратить исполняемые скрипты, такие как .pl, .cgi или .php скриптов, при выполнении запроса в браузере, указывая на веб-сервер, чтобы их можно было рассматривать как текстовые, а не исполняемые файлы, результат: Они будут отображаться в виде обычного текста в окне браузера:

AddType text / ordinary .pl .php .cgi

Options -ExecCGI директива, является одним из наиболее мощных директив, разрешенных в файле .htaccess. Эта директива управляет разрешениями в файлах .htaccess и всеми остальными модулями

Apache. –ExecCGI, указывая на то, что никакие, зарегистрированные файлы не могут быть обработаны с помощью CGI-скриптов обработчика. AddHandler директива в следующей строке, регистрирует все эти расширения файлов как CGI-скрипты, что предотвращает любые попытки получения доступа к ним и в результате, может выдать ошибку 403 — Forbidden — Доступ запрещен, таким образом, благодаря этому, при попытке получения данных, пользователь будет направлен на пустую страницу с ошибкой.

Варианты: -ExecCGI.

AddHandler CGI-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi

И, наконец, вы можете использовать еще одну директиву, чтобы заставить тип документа, к которому пытается получить доступ обработчик, выводить страницу с ошибкой 403. Эта директива удаляет все обработчики действия, которые связанные с этими расширениями и заставляет их работать в качестве простого текста, но это не отменяет предыдущий пример в области видимости, т.е. пользователь, который пытается получить доступ, также может видеть страницу с ошибкой 403.

<FilesMatch "\ (PHP | pl | ru| JSP | aspen | HTM | SHTML | w | GIK). $">

ForceType text / plain

</ FilesMatch>

Удаленное управление (местный запрос).Использование переменной окружения REDIRECT_STATUS.

Подключение REDIRECT_STATUS переменной окружения, с помощью AddHandler, чтобы создать действие настроек Apache, для установки REDIRECT_STATUS переменную окружения.

Действие заключается в следующем: когда производится запрос для файла, заканчивающийся в .php Apache, не просто был бы виден файл, а вместо этого, было бы пере направление к /cgi-bin/php.cgi сценарию, который может быть либо реальным PHP-CGI переводчиком, либо это может быть просто сценарий оболочки, который выполняет ваш реальный интерпретатор PHP ошибок.

AddHandler PHP-CGI .php

Act PHP-CGI /cgi-bin/php.cgi

Следующий пример, задает переменную окружения PHPRC, а затем запускает файл php.cgi.

#! / Bin / sh -n

export PHP_FCGI_CHILDREN = 3

export PHPRC = / home / custom ini

Exec /home/bin/php.cgi

В этом примере просто выполняется интерпретатор PHP (если он найден), расположенный в текущем пути исполняющего владельца скрипта.

Мы можем использовать эту информацию, чтобы заблокировать htaccess каталоги, файлы, используя одну простую переменную. Это возможно потому, что переменные окружения REDIRECT_ CGI устанавливаются только для локальных запросов. Помните, что Apache, который запрашивает файл /cgi-bin/php.cgi, определяется как локальный запрос.

Если кто-то запрашивает веб-страницу, которая заканчивается в .php, переменная REDIRECT_ устанавливается только для Apache, когда он передает управление к файлу /cgi-bin/php.cgi, поэтому, вы можете блокировать все запросы к / CGI-BIN / файла php.cgi, которые не имеют набора переменных REDIRECT_STATUS.

REDIRECT_STATUS.

Эта переменная создается из внутреннего запроса, и была создана первоначально (намного старше, чем даже PHP, или CGI), которые использовались для обработки ErrorDocuments.

ErrorDocument код страницы 404: запускается пользователем при запросе несуществующей страницы, Apache , перенаправляет запрос на ErrorDocument, так же, как он перенаправляется запросы на .php файлов выше. Эта функция позволяет ErrorDocuments вести журнал о параметрах среды и переменных для запроса, которая вызывает ошибку.

REDIRECT_STATUS является лишь одним из не многих REDIRECT_ переменных, создаваемых, в основном для безопасности переменных передаваемые к перенаправленному сценарию с приставкой REDIRECT.

Управление доступом.

Теперь вы знаете, как исключить запросы, которые имеют REDIRECT_STATUS переменной, таким образом можно выдать ошибку «403 Запрещено» или что — либо другое, поместив это в вашем /cgi-bin/.htaccess файле.

Запрос:  Запретить, Разрешить.

Запретить All

Разрешить from env = REDIRECT_STATUS

Комбинированный доступ и с FilesMatch.

Это может иметь продолжение в вашем /.htaccess файле и использовать регулярное выражение, чтобы применить:

PHP [0-9] (INI | GIK). </ TT>

<FilesMatch "^ php5 \?. (INI | GIK) $">

Request: Disable, Enable.

forbid All

allow from env = REDIRECT_STATUS

</ FilesMatch>

Только Запретить REDIRECT_STATUS не 200.

Вы также можете использовать функцию mod_rewrite для дальнейшего ужесточения доступа, только для редиректа с кодом состояния 200. Это может вступить в игру, если ваши стандартные запросы, выглядят следующим образом.

ErrorDocuments themselves PHP scripts.

ErrorDocument 403 /error.php

будет иметь REDIRECT_STATUS sump 403.

Запретить Запросы с mod_rewrite:

RewriteEngine On

RewriteCond% {ENV: REDIRECT_STATUS} = 200!

RewriteRule / CGI-BIN / way / to / PHP — [F].

Связанная статья "Запрет доступа"

 

Закладка Постоянная ссылка.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

This blog is kept spam free by WP-SpamFree.