Htaccess закрыть доступ к директории

Htaccess закрыть доступ к директории

Содержание

Работа с .htaccess

.htaccess (с точкой в начале имени) — это файл-конфигуратор Apache-серверов, который дает возможность настройки работы сервера в отдельных директориях (папках), не предоставляя доступа к главному конфигурационному файлу. Например, устанавливать права доступа к файлам в директории, менять названия индексных файлов, самостоятельно обрабатывать ошибки Apache перенаправляя посетителей на специальные страницы ошибок. .htaccess представляет собой обычный текстовый документ с расширением htaccess. Данный файл обычно находится в корне сайта, однако вы можете создавать и дополнительные .htaccess-файлы для различных директорий вашего сайта.

Mod_rewrite — модуль, используемый веб-серверами для преобразования URL’ов.

Редирект .htaccess

Простой редирект

Ставится в файле .htaccess . / и означает, что всё с верхнего уровня сайта, включая все подкаталоги, будет переадресовано (не забывайте поставить последний / ). Если вы хотите переадресовать только страницу, сохранив PR старой страницы, можно сделать так:

/old/old.htm — путь и имя старой страницы,
http://www.you.com/new.htm — новый путь и новое имя перемещенной страницы.

Редирект на любую страницу по ip пользователя или при запросе конкретной страницы (а также по маске имени)

Если у пользователя ip 192.152.37.125, то он будет перенаправлен на страницу user.php :

Редирект при запросе определённых файлов
Если запрашиваются файлы, расширение которых не указано в файле .htaccess (gif и jpg), то следует перенаправление:

Использование mod_rewrite

Редирект с регулярным выражением

Прописывается в файле .htaccess.

(.*) RedirectMatch фактически соответствует регулярным образцам выражения после доменного имени. Таким образом, нельзя выполнить соответствие образца на ^/yourdomain.ru . Однако, можно преобразовать страницы с использованием .html расширения к файлам того же самого названия, но с .php расширением:

Если необходимо сделать различное перенаправление для отдельных страниц, можно использовать следующее:

RedirectMatch Permanent — это эквивалент «RedirectMatch 301», строка с *(Wildcard) должна быть последней в этом списке.

Создание удобно читаемых URL

Чтобы преобразовать, например, www.site.ru/product.php?id=123 в www.site.ru/product/123 поступите следующим образом:

В следующем примере преобразуем www.site.ru/script.php?product=123 в www.site.ru/cat/product/123/:

Редирект на PHP

Надо создать страницу при обращении к которой будет происходить редирект и разместить её на сервере. Лучше укажите HTTP/1.1 (а не HTTP/1.0 или HTTP/0.9, которые не поддерживают виртуальный хостинг).

Редирект всех файлов в папке на один файл

Например вы больше не нуждаетесь в разделе сайта Super discount и хотите перенаправить все запросы к папке /superdiscount на один файл /hot-offers.php . Для этого добавляем в .htaccess следующий код:

Редирект всей папки кроме одного файла
В следующем примере все файлы из папки /superdiscount будут редиректится на на файл /hot-offers.php , КРОМЕ файла /superdiscount/my-ebook.html который должен редиректится на /hot-to-make-million.html

Редирект динамического URL на новый файл

Данный вариант пригодится, если вы хотите редиректить динамический URL с параметрами на новый статический файл.

То есть теперь, запрос к файлу вида http://www.kass.ws/article.jsp?id=8632 и/или http://www.kass.ws/article.jsp?id=1245 будет отправлен на файл http://www.kass.ws/latestnews.htm .

Массовый редирект новых файлов

Теперь перейдем к самому сложному моменту, когда вам надо редиректить массу URL-ов, например после смены вашей CMS.

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

Во-вторых, слишком много записей в .htaccess файле будут тормозить Apache сервера.

И в-третьих, при внесении такого количества информации высока вероятность, что вы где-то ошибетесь.

Поэтому, самый лучший выход — нанять программиста, который вам напишет динамический редирект. Нижеприведенный пример написан на PHP, но так же может быть выполнен на любом языке.

Предположим, вы перешли на новую систему ссылок на вашем сайте и все файлы оканчивающиеся на старый id должны быть средирекчены. Сначала создаем в базе таблицу, которая содержит старый id и новый URL для редиректа. old_id INT new_url VARCHAR (255) Далее пишем код который свяжет ваши старые id с новыми URL-ами

После этого, добавляем следующую строчку в .htaccess:

затем создаем PHP-файл redirectold.php , который будет поддерживать 301 редирект:

Теперь все запросы к вашим старым URL-ам будут вызывать redirectold.php , который найдет новый URL и вернет 301 ответ с вашей новой ссылкой.

Редиректы в зависимости от времени

Когда нужно применять уловки, типа содержания зависящего от времени, масса вебмастеров все ещё используют CGI-скрипты, которые производят редиректы на специальные страницы.

Как это может быть сделано через mod_rewrite? Есть много переменных названных TIME_xxx для условий редиректа. В связке со специальными лексикографическими образцами для сравнения STRING и =STRING мы можем производить редиректы зависящие от времени:

Это выдает содержимое foo.day.html при запросе URL foo.html с 07:00 до 19:00 а в оставшееся время содержимое foo.night.html .

Убираем у всех запросов вначале «WWW.»

Меняем расширение .html на .php

Иногда бывает так, что у вас статичный веб-сайт, а вам необходимо, чтобы на нем срабатывал какой-нибудь php-скрипт. Для этого вам необходимо сказать серверу, чтобы он обрабатывал эту страницу как php-файл.

AddHandler application/x-httpd-php .html

Этот прием можно использовать и для других расширений файлов:

Запрещение доступа в конкретную директорию

Запрещаем доступ для всех ко всем файлам в директории deny from all
к конкретному файлу:

по ip пользователя:

Доступ в данную директорию будет разрешён только пользователю с ip 192.152.37.125.

И наоборот, если хотите запретить отдельным ip пользователей доступ к вашему сайту, то пропишете следующие строчки:

Директива Options -Indexes — запрет на отображение содержимого каталога при отсутствии индексного файла.

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

В этом случае, вместо списка файлов в каталоге посетитель получит HTTP ошибку 403 — access forbidden.

Запрет доступа к файлам с несколькими типа расширений

Запрещен доступ к файлам с расширением .inc, .conf и *.cfg. Хотя директива, по умолчанию, не работает с регулярными выражениями, но их можно включить поставив символ тильды(

) в опциях директивы. Синтаксис следующий: [тильда] [пробел] [далее_все_без_пробелов] Чтобы блокировать этот доступ, запишем следующее:

Читайте также:  Как настроить экранное время на айфоне

RewriteRule ^.htaccess$ — [F]

Это значит, что если кто-то пробует обращаться к файлу .htaccess, система должна произвести код ошибки ‘HTTP response of 403’ или ‘403 Forbidden — You don’t have permission to access /.htaccess on this server’.

Конструкция ^.htaccess$ в этом регулярном выражении означает:

^ — якорь начала строки
$ — якорь конца строки
. — в регулярных выражениях точка . обозначает мета-символ и должна быть защищена обратным слэшем (backslash), если вы все-таки хотите использовать именно фактическую точку.

Имя файла должно быть расположено точно между начальным и конечным якорем. Это будет гарантировать то, что только это определенное имя файла (и никакое другое) сгенерирует код ошибки.

[F] — специальный ‘запрещающий’ флажок (forbidden).
[NC] — не учитывать регистр букв.
[OR] — означает ‘или следующее условие’.

Определение кодировки

Определение кодировки, в которой сервер «отдает» файлы

Варианты: KOI8-R, UTF-8, Windows-1251

Определение кодировки на загружаемые файлы

Пароль на директорию

Инструкция как закрыть папку паролем находится — НА ЭТОЙ СТРАНИЦЕ

Свои страницы ошибок

Инструкция на создание своих страниц ошибок находится — НА ЭТОЙ СТРАНИЦЕ

IE игнорирует страницы размером меньше 512 байт.

Индексация директорий и поддиректорий

Чтобы избежать индексации поисковыми системами директорий и поддиректорий, необходимо прописать, например, такую строку:

Эта директива задает файл, который будет вызван при обращении к директории без указания имени файла.

Можно указать несколько индексных страниц. При запросе каталога они будут искаться в том порядке, в котором перечислены в директиве DirectoryIndex. Если не будет найден файл index.html , то будет произведен поиск файла index.php и т.д.

DirectoryIndex index.html index.php index.shtml

Мы рекомендуем делать переадресацию с пустых директорий либо на главную страницу сайта, либо на другую подходящую страницу. Например, директорию www.site.ru/pic/ можно переадресовать на www.site.ru .

Защита изображений

Часто веб-мастера нагло копируют контент с вашего сайта вместе с рисунками, причем рисунки подгружаются с вашего же сервера. Это создает лишний трафик, что, зачастую, приводит к ряду проблем.

Защититься от таких веб-мастеров и не помешать поисковым роботам индексировать изображения достаточно просто:

hotlinker.gif — изображение, которое будет отображаться, вместо истинных изображений. Рекомендуем в этом изображении отобразить ваш логотип и ссылку на ваш сайт.

Еще один варинат запрета доступа к картинкам с неразрешенных сайтов:

Поисковые машини и разного рода сканеры создают коллосальный трафик на вашем сайте. Нижеприведенный блок кода позволит запретить доступ ботам на сайт.

Обращения к robots.txt

Чтобы иметь больше информации о посещении поисковиков, полезно иметь подробную информацию об обращении к файлу robots.txt . Для того, чтобы оганизовать это, в ‘.htaccess’ должны быть следующие записи:

Теперь при запросе файла robots.txt наш RewriteRule переадресует посетителя (робота) к обрабатывающему запросы скрипту robot.php .
Кроме того, переменная передается скрипту, которая будет обработана в соответствии с вашими нуждами. REQUEST_URI определяет имя запрашиваемого файла. В данном примере это robots.txt . Скрипт прочтет содержание robots.txt и отправит его web-браузеру или роботу поискового сервера. Таким образом, мы можем считать хиты посетителей и вести лог-файлы.

PHPSESSID

Для отключения добавления PHPSESSID к URL вставьте в начало index.php:

ini_set("session.use_trans_sid", 0); , либо в .htaccess пропишите:
php_flag session.use_trans_sid Off

Если вам все это показалось сложным, воспользуйтесь готовым сервисом преобразования динамических URL в статические с помощью htaccess.

Директивы кеширования

Кэширование для всех типов файлов по времени доступа

Кэширование для всех типов файлов по времени изменения

Кэширование для определённых типов файлов

Запрет кеширования с помощью сервера Apache

Впишите в .htaccess следующее:

Необходимые заголовки будут передаваться автоматически и специально писать их в PHP уже не нужно — кэш уже выключен!

Кеширование с помощью файла .htaccess

Кеширование javascript файлов с помощью файла .htaccess

Будьте осторожны при кешировании, т.к. при изменении файла пользователь может получить новый вариант только через 3 дня!

Работа php в html

Пропишите в своем файле .htaccess следующие строки:

Поиск страниц больше чем в одном каталоге

Иногда необходимо позволить веб-серверу искать страницы больше, чем в одном каталоге.

RewriteEngine on

Поддомены для пользователей

Если Вы хотите предоставлять адреса www.subdomain.domain.ru для страниц пользователей, вы можете использовать следующий набор правил для преобразования http://www.subdomain.domain.ru/path во внутренний путь /home/login/path :

Повреждение бинарного файла

Если при передаче файлов через формы (при указанном enctype=«multipart/form-data» ) бинарные данные повреждаются, пропишите в /cgi-bin/.htaccess директиву:

Ошибка SWF файлов

Ошибки при обращении к страницам, содержащим ключевые слова, типа $_REQUEST .

Такое может происходить из-за установленного модуля в Apache. По умолчанию он блокирует в запросах строки с SQL аргументами и другими потенциально опасными командами.

Возможные сообщения об ошибке:

Forbidden You don’t have permission to access /adm/index.php on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Запрос небезопасен и был отвергнут.

Добавьте в .htaccess следующее:

Для сообщения: "POST /wp-admin/async-upload.php HTTP/1.1" 406 354 "-" "Shockwave Flash" можно снять защиту только на загрузку файлов на сервер:

Оптимально снимать защиту только с той папки, в которой это необходимо, не убирая защиту со всего сайта.

Склейка страницы (301)

Обычно код главной страницы физически расположен в файле index.html или index.php, но сайт должен открываться по любому из запросов: yoursite.ru, yoursite.ru/index.html, www.yoursite.ru и www.yoursite.ru/index.html. Но для поисковых систем это четыре разные URL! Если не настроить .htaccess верно, поисковик добавит в свой индекс четыре одинаковые страницы. Это признак некачественного сайта. Избежать этой проблемы можно с помощью такого кода в .htaccess:

Все страницы-дубли будут склеены редиректом с кодом 301 с главной страницей – http://www.yoursite.ru/ . Дубли страниц без слэша в конце URL.

Чтобы предотвратить ситуацию с индексированием страниц www.yoursite.ru/about и www.yoursite.ru/about/ как разных, ставим следующий код:

Со страниц без слэша будет установлен редирект на «слэшевые».

Принудительная постановка замыкающего слеша

Следующий код всегда будет добавлять слеш в адрес URL вашего сайта, что хорошо помогает в области SEO сайта:

Читайте также:  Программы для монтажа видео на русском бесплатные

Загрузка файлов вместо открытия

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

AddType application/octet-stream .rar .doc .mov .avi .pdf .xls .mp4

Сжатие страниц

Междоменные шрифты для FF

При использовании встроенных шрифтов Firefox не позволяет брать их с внешних сайтов. Следующий код для файла .htaccess позволит обойти данное ограничение:

PHP в JavaScript

При разработке кода JavaScript иногда требуется использовать PHP в файлах .js, например, для получения данных из базы данных:

Разложить файлы robots.txt, sitemap.xml и т.п. в папки доменов

Если есть запрашиваемый файл из корня сайта, в папке домена, то перенаправляем его туда:

Блокируем User Agents

Если вы столкнулись с проблемой, что какие-то типы User Agent нагружают ваш сервер ненужными запросами, то от них можно избавиться добавив в .htaccess следующие строчки:

Переадресация по языку

Переадресация с http на https

Защита картинок от скачивания по ссылкам на других сайтах

Включая переходы без REFERER, т.е. когда адрес указывают в строке браузера:

Только по ссылкам на чужих сайтах:

Блокировка пользователей с определенным рефером

Если вы не хотите, чтобы пользователи переходя с определенных сайтов попадали на ваш, вы можете это запретить:

Пусть это будет вспомогательный файл, перегруженный может тормозить сервер.

.htaccess

Редактор

Кодировка

Определение кодировки на определенные типы файлов

AddType "text/html; charset=koi8-r" .html .htm .shtm

Определение кодировки на загружаемые файлы

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

Можно указывать несколько страниц.

DirectoryIndex index.html index.php index.shtml map.html

При запросе каталога они будут искаться в том порядке, в котором перечислены в директиве DirectoryIndex. Если не будет найден файл index.html, то будет произведен поиск файла index.php и т.д.

Разрешение/запрет

order allow deny
deny from all
allow from 000.000.000.000

запретить доступ с определенного ip.

order allow deny
allow from all
deny from 000.000.000.000

запретить просмотр всем.

разрешить просмотр всем.

Запретить доступ к определенному файлу.

Запретить доступ к файлам с определенным расширением.

Запретить доступ к файлам нескольких расширений.

? — любой одиночный символ
* — любая последовательность символов, исключая символ / (слеш).

Тонкая настройка доступа.

Есть каталог a1 и в нем два вложенных каталога a2, a3, введено 2 уровня пользователей. 1 группа имеет доступ только к a1 и a2, 2-я ко всем трем каталогам. Необходимо проводить аутентификацию только 1 раз — при доступе к a1, но при этом соблюдать права на доступ к а2 и а3.
Ник и пароль запрашиваются только при входе на а1 — если у юзера есть доступ на а2 пароль уже не запрашивается. Если на а3 доступа нет, вылетит табличка "введите пароль".

www.site.ru/a1
www.site.ru/a1/а2
www.site.ru/a1/a3
a1 — общий и вместе с тем закрытый. а2 и а3 только для отдельных личностей.

файл .htaccess для каталога а1:

AuthName "Input password"
AuthType Basic
AuthUserFile "/pub/home/login/htdocs/clousearea/.htpasswd"

require valid-user

файл .htaccess для каталога а2:

AuthName "Input password"
AuthType Basic
AuthUserFile "/pub/home/login/htdocs/clousearea/.htpasswd"

require user юзер1 юзер2 юзер3

файл .htaccess для каталога а3:

AuthName "Input password"
AuthType Basic
AuthUserFile "/pub/home/абв/htdocs/clousearea/.htpasswd"

require user юзер1 юзер4 юзер5

Перенаправление (редирект)

Если вы не знаете путь от корня сервера, то Вы можете его узнать, спросив у администратора сервера, либо можете посмотреть сами, запустив на сайте функцию PHP — phpinfo() . Она выведет на экран конфигурацию PHP в виде фиолетовых таблиц. В них Вам необходимо найти переменную doc_root и посмотреть ее значение — это будет путь от корня сервера до вашей основной директории.

Перенаправление (редирект) только при запросе определенных страниц.

Redirect /location/from/root/file.ext http://www.serv.ru/new/file/location.xyz

/location/from/root/file.ext — это путь до корневого файла (до нужного файла).

www.serv.ru/new/file/location.xyz это место, куда попадет пользователь сделав запрос на файл file.txt.

Если файл лежит в корневом каталоге, то вместо location/from/root/ можно сразу поставить:

ну и если файл в субкаталоге, то будет выглядеть так:

Редирект на папку (напр. папка oldfolder).

Redirect /oldfolder http://www.serv.ru/newfolder

запрос на www.oldserv.ru/oldfolder/images/smile.gif ,
попадет на www.serv.ru/newfolder/images/smile.gif .

Глобальное перенаправление (редирект) на другой адрес. Redirect / http://www.newsite.ru

Перенаправление (редирект) только посетителей с определенным IP-адресом.

SetEnvIf REMOTE_ADDR 192.145.121.1 REDIR="redir"
RewriteCond % redir
RewriteRule ^/$ /only_for_you.html

Убираем WWW

Это решается следующим кодом.

Если вы хотите, чтобы ваш адрес был всегда с WWW. (привычнее), то код:

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond % ^your-site.com$
RewriteRule ^(.*)$ http://www.your-site.com/$1 [R=301,L]

Вместо your-site.com пишем свой адрес.

Пароль

AuthName "Section Name" AuthType Basic AuthUserFile /full/path/to/.htpasswd Require valid-user

Вам надо изменить для своего сайта. Например, поменять Section Name на своё название (к примеру — Members area).

/full/path/to/.htpasswd — полный путь до файла .htapasswd (об этом чуть позже).

Если вы не знаете полного пути, то обратитесь к системному администратору.

Чтобы защитить директорию паролем, надо создать файл содержащий логины и пароли, которым разрешено будет посещать сайт. И вписать в файл .htpasswd.

Создание имен пользователей и паролей.

Вписываем имена пользователей и пароли след. образом:

пароль (password) зашифрованная версия пароля.
Чтобы зашифровать .htpasswd файл, вам нужно будет воспользоваться готовым скриптом, или самому написать его. Если вам нужно несколько пользователей, то пишите построчно их.

Как только вы заходите в защищенную паролем директорию, у вас всплывет pop-up окно для ввода логина и пароль. А можно просто вписать в поле адреса:

Ускоряем сайт с помощью gzip

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

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml
application/xhtml+xml text/JavaScript text/css application/x-JavaScript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

Читайте также:  Какие устройства можно подключить через шину sata

SSI позволяют "собирать" страницу из кусочков. В одном кусочке у вас код меню, в другом код верхней части страницы, в третьем — нижней. А посетитель видеть обычную страницу, которая состоит из того кода, который входит в ваши кусочки. Необходимы обязательные установки в httpd.conf:
В блоке, начинающемся с и заканчивающийся в строку Options Indexes добавьте Includes.
и после, в файле .htaccess пишем:

AddHandler server-parsed .shtml .shtm .html .htm

Чтобы пользователь не видел список файлов в папке, при отсутствии в ней индексного файла, добавим строчку:

Выполнение php кода в файлах с другим расширением.

Иногда бывает полезно "обмануть" посетителя, выдавая ему свои php-скрипты или иные файлы, как html файлы. Реально используется для индексации поисковой системой Rambler php-скриптов.

RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html .phtml

Заметьте, так как файлам с расширением .html и .htm сопоставлено, что это файлы с гипертекстовой разметкой, то мы первой строкой убираем это сопоставление и добавляем обработку таких файлов php интерпретатором.

При большой посещаемости сервера такие ухищрения могут вызвать тормоза. Спрашивайте у админа.

Если не будет файла, сообщающего об ошибке, то посетитель увидит содержимое вашего сайта, как в проводнике. Наверное, вы встречали картину подобную представленной ниже:

ErrorDocument 404 /404.html
ErrorDocument 403 /403.html
ErrorDocument 401 /401.html
ErrorDocument 500 /500.html

Можно указать другой файл, который автоматически откроется при появлении ошибки.
Карта сайта — является идеальным файлом для обработки ошибки error 404 (файл не найден).

ErrorDocument 404 /map.html

Если у вас не работает почтовая форма, возможно не включен register_globals, тогда добавьте строчку:

php_flag register_globals on

Или php_flag register_globals off если вы хотите отключить.

ПРИНУДИТЕЛЬНАЯ ЗАКАЧКА ОПРЕДЕЛЕННЫХ ФАЙЛОВ

ForceType application/octet-stream
Header set Content-Disposition attachment

ForceType application/octet-stream
Header set Content-Disposition attachment

ЗАЩИТА ОТ ХОТЛИНКОВ

SetEnvIfNoCase Referer "^http://www.test.com" local_ref=1
SetEnvIfNoCase Referer "^http://test.com" local_ref=1

Order Allow,Deny
Allow from env=local_ref

quux/.*$ [NC]
RewriteRule .*.(gif|jpg)$ — [F]
RewriteCond % !^$
RewriteCond %
!.*/foo-with-gif.html$
RewriteRule ^inlined-in-foo.(gif|jpg)$ — [F]

Здравствуйте программисты, сегодня новое руководство по работе с htaccess. Сегодня я научу вас как запрещать доступ к файлам, как запрещать доступ к директориям, как запрещать доступ к сайту по определенному ip. В общем я вас расскажу как закрывать свой сайт от посетителей.

Данный метод используется для ограничения определенных файлов или директорий сайта.

Как изменить доступ к файлам, с помощью .htaccess?

Для того чтобы это сделать, мы в корневой папке сайта создаем файл .htaccess. Данный файл необходимо открыть как обычный текстовик или с помощью программы для написания кода. Я открываю этот файл через программу Sublime Text.

Для файла .htaccess следует использовать права доступа 644 и загружать его в ASCII-режиме. Если ваш .htaccess файл не работает, то вам следует обратиться к системному администратору или в техподдержку вашего веб-хостинга и убедиться, что использование его разрешено для вашей учетной записи, так как некоторые хостинговые компании не позволяют его использование без предварительного разрешения, это в основном относится к бесплатным хостингам. Также, к сожалению, .htaccess не будет работать на Windows-серверах.

Первая директива, с которой мы познакомимся, это директива Order. Синтаксис директивы прост и она может быть использована в двух вариантах:

Order Deny,Allow – это начала кода, которое показывает, что после него будут перечислены параметры ограничения доступа к файлам.

Allow – разрешает доступ.

В зависимости от выбранного варианта [Deny,Allow] или [Allow,Deny] для директивы Order, мы изменяем логику работы сервера. Если используем первый вариант (Deny,Allow), то мы сообщаем серверу, что хотим запретить доступ для всех (deny), кроме тех, которым разрешим (Allow).

Когда мы используете второй вариант (Allow,Deny), то подразумевается, что мы разрешаем доступ всем, кроме определенных IP.

Здесь стоит отметить, что на самом деле использование директивы Order не является обязательным и возможно использование директив Deny и Allow без директивы Order. Также не будет ошибкой, если, к примеру, объявив в директиве Order вариант Deny,Allow, мы сначала используем директиву Allow, а затем Deny. Хотя все же лучше будет, если мы в этом вопросе не будем отходить от рекомендаций документации.

Как закрыть доступ для всех?!

Итак, для того, чтобы закрыть доступ к сайту для всех, достаточно прописать в файле htaccess в корне следующие строки:

Так мы закрыли доступ ко всему сайту для всех IP. Теперь сервер будет отдавать клиенту ответ 403, т.е. доступ запрещен.

Как закрыть доступ всем, кроме определенного ip?!

Если вы захотите открыть при этом доступ к сайту с конкретного IP, тогда его можно указать в директиве Allow. Например, откроем доступ для IP 127.0.0.1:

Также можно открывать доступ для нескольких IP. Для этого достаточно перечислить их через пробел:

Как закрыть доступ к определенной директории сайта?!

Очевидно, что точно так же мы можем закрыть доступ не ко всему сайту, а только к какой-нибудь папке. Для этого просто нужно создать в папке файл htaccess и в нем прописать всего одну строку:

Как закрыть доступ к файлу на сайте?!

А что, если мы хотим запретить доступ не к папке, а к файлу. Для этого мы воспользуемся еще двумя директивами: Files и FilesMatch. Данные директивы похожи на HTML-теги, поскольку требуют закрывающей директивы и заключены в знаки меньше/больше:

На самом деле они представляют собой некую ограничивающую конструкцию, позволяющую обратиться только к конкретному файлу или файлам. Например, давайте закроем доступ к архиву rar.rar:

Теперь файл пропадет из листинга каталога и при попытке обращения к файлу напрямую сервер вернет нам вместо файла 403 ошибку.

Если мы хотим ограничить доступ к группе файлов, то здесь можно использовать директиву FilesMatch вкупе с регулярными выражениями. Например, так можно ограничить доступ к графическим файлам и архивам:

Ссылка на основную публикацию
Firefox защита от отслеживания
Firefox станет блокировать отслеживающие модули по умолчанию, что согласно Mozilla, также должно положительно сказаться на производительности. Впервые о новой функции...
Asus p8h61 m lx2 поддерживаемые процессоры
We deny access to: Open proxies Addresses within data center IP ranges Automated requests and most types of bots Visitors...
Asus rog gladius ii black
По большому счету не секрет, что мышь ASUS ROG Gladius создавалась в качестве конкурента для очень популярной серии Razer DeathAdder....
Firefox сохранить открытые вкладки в файл
Во время интернет-серфинга возникает необходимости в большом количестве вкладок, поэтому их потеря может больно ударить по виртуальному путешественнику. Сегодня мы...
Adblock detector