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

Многие пользователи серверов Apache для настройки работы сайта используют файл конфигураций htaccess. С одной стороны, нельзя назвать это решение мудрым и стоящим, поскольку чересчур наполненный файл htaccess может навредить скорости работы сервера. Но некоторые опции этого конфигурационного документа сложно настроить без использования файла htaccess, например, ограничение доступа к файлу, каталогу или сайту в целом. В приведенной ниже статье вы узнаете, как использовать эту функцию файла htaccess, и для чего она нужна.

Кому нужен запрет доступа и как им пользоваться

Стоит учитывать, что файл htaccess позволяет не только делать запрет доступа сразу ко всему сайту, но и создавать белые и черные списки пользователей. То есть вы сможете, к примеру, закрыть доступ для некоторых IP. Точно так же вы сможете снять запрет только для выбранных вами IP, создав тем самым белый список пользователей. Но зачем вообще использовать эту функцию?

Порой обстоятельства так складываются, что к сайту нельзя никого подпускать. К примеру, когда на нем ведутся какие-то важные техработы. В этот момент вы можете заблокировать доступ для каждого пользователя, кроме своего IP. Тогда посетители не будут присутствовать на ресурсе, когда он в нестабильном состоянии. Кроме того, используя черный список пользователей, вы сможете запретить доступ к сайту для IP недоброжелательных посетителей, которые спамят, флудят, ругаются и плохо обзываются о вашем портале.

Таким образом, вы сможете закрыть свой сайт от нежеланных гостей, создав подобие бан-листа. И во всем этом вам поможет файл htaccess с его незаменимыми директивами.

Как запретить доступ к файлу, каталогу, сайту через htaccess

Для управления уровнем доступа к сайту, файлу или папке вам необходимо будет использовать директивы Deny и Allow. Первая директива нужна, чтобы запретить доступ, а вторая — чтобы разрешить. Во многом эти директивы зависят от того, куда вы поместите файл htaccess. Если он будет расположен в корневом каталоге, то запрет или разрешение будет действовать на весь сайт целиком. Если же вы загрузите htaccess в какую-то папку, то опции Deny и Allow будут действовать на каталог, в котором находится, а также на внутренние папки. Именно таким образом и блокируют доступ к определенным директориям и разделам сайта.

Синтаксис директив запрета и разрешения предельно прост. Начинать опцию следует со строки Order Deny, Allow. Она обозначает активацию функций Deny и Allow. А в следующих строках вы должны указать конкретно, какие условия доступа вы планируете установить. Так, чтобы закрыть доступ для всех, вам нужно прописать всего две строки:

Order Deny,Allow — открытие функции.
Deny from all — указание правила.

Нижняя строка говорит: «Запретить (deny) для (from) всех (all)». Точно таким же образом вы можете вместо Deny прописать Allow для активации противоположной опции. Но поскольку эта опция активирована по умолчанию, нет смысла ее дополнительно указывать в htaccess. Allow from скорее используют для того, чтобы указывать исключения, то есть чтобы сформировать белый список пользователей.

Чтобы открыть доступ только для некоторых IP, вам нужно сначала закрыть сайт или каталог для всех остальных. Вот пример создания белого списка для двух адресов IP:

Order Deny,Allow
Deny from all
Allow from 136.68.81.3, 135.67.82.1 — IP писать через запятую.

По аналогии с написанной функцией вы сможете блокировать только определенные адреса IP. Только для этого вам нужно будет сначала прописать разрешение для всех через Allow from all, а потом указывать через Deny from IP-адреса, либо названия хостов, для которых доступ строго воспрещен.

Для ограничения прав на файл через закрытие доступа, вам нужно создать отдельный документ htaccess, и поместить его в директорию, где содержится файл. Директива запрета для файла выглядит примерно так же, как опция ограничения доступа для сайта или каталога. Разница только в том, что для ограничения файла вам понадобится специальный тег . В открывающем теге необходимо указать название объекта, доступ к которому следует ограничить. Вот пример запрета для всех пользователей к файлу passvd.txt:

— тег с именем файла
Order Deny,Allow — открытие опции
Deny from all — правило директивы
— закрытие тега

Теперь вам осталось поместить htaccess в каталог, где содержится файл passvd.txt, и никто не сможет добраться к нему через сайт. Как показывает практика, обычно доступ к файлу блокируют не полностью, а указывают исключения для доверенных IP-адресов. К примеру, вы сможете указать ограничение для всех, кроме своего IP, чтобы вы смогли потом скачать файл с паролями. Вот пример такого ограничения:

Order Deny,Allow
Deny from all
Allow from 144.66.55.2

Если в каталоге содержится не один файл, который вам нужно защитить, а несколько, то вы можете прописать сразу много директив для каждого отдельного объекта. Но это неудобно. Кроме того, много опций в htaccess нагружают сервер, потому куда разумнее активировать другую блокировку — запрет доступа по типу файлов в каталоге, а не по их наименованию. Вам нужно будет использовать точно такую же конструкцию директив, только вместо имени файла необходимо через символ «|» указывать расширения, которые пользователи не смогут скачать с данной папки. Вот пример тег запрета для загрузки картинок определенного формата:

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

Учтите, что многие пользователи используют не статический IP, а динамический, потому указывать один адрес в запрете глупо. Куда разумнее писать в запрет диапазон IP-адресов. Для этого найдите Whois-сервис и определите CIDR IP-адреса, а затем укажите его в запрете. Тогда даже при временной смене адреса, пользователь не сможет зайти на портал.

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

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

Сам файл по сути не имеет названия и поэтому начинается с точки .htaccess. Создать такой файл вы можете используя любую среду разработки(Notepad++, phpStorm и т. п.) он является простым текстовым файлом. Ну хватит теории приступим непосредственно к делу, создадим файл .htaccess и внесем в него первую настройку .

Что мы тут видим, ну во первых с помощью решетки(#) добавляются одностраничные комментарии(инструкции, пояснения) которые не как не влияют на общие настройки.

AddDefaultCharset — c помощью этой команды мы выставляем кодировку в нашем случае это utf-8.

Теперь давайте рассмотрим работу с доступами:

Данная опция запрещает доступ к текущей директории, всем ее файлам и папкам.

Давайте теперь рассмотрим пример посложнее:

здесь с помощью filesMatch мы указываем что то типа регулярного выражения в котором говорится что все файлы которые заканчиваются на .zip, .7z и т.д. или по другому имеют такие расширения. Будут ограничены в доступе. То есть доступ к ним будет запрещен.С помощью строчки Order Allow, Deny — мы указываем что доступ закрыт только для текущих(перечисленных файлов).

Мы также можем перекрыть доступ к определенным файлам:

к примеру confg.php и test.php.

Также можно закрывать доступы определенным ip:

С помощью данной настройки мы запрещаем вывод списка файлов и папок в директории.

Данные инструкции при возникновении ошибок с определенным кодом ошибки перенаправляют пользователя на указанные страницы. То есть если возникнет ошибка 404(страница не найдена) , то с помощью данной инструкции ErrorDocument 404 /page404.php нас перенаправит на страницу page404.php. Тут следует отметить что вы должны создать данную страницу!

ErrorDocument 404 путь к странице

Теперь поговорим о механизме mod_rewrite

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

Например если мы хотим что при переходе на старую страницу которая начинается с old_url и заканчивается .html нас перебрасывало на адрес new_url.html? , то нам нужно прописать следующий код.

где ^old_url.html$ — старый адрес с которого будет осуществляться перенаправление, /new_url.html -новый адрес куда осуществляется перенаправление [R=301] — перенаправление 301

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

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

Перед тем как начать делать описанное в данном руководстве рекомендуется ознакомиться с [данной] инструкцией и создать по ней правильный файл .htaccess.

Если мы хотим запретить доступ к какой-либо странице сайта, то сделать это можно через файл .htaccess.

Для этого после указания директив:
order allow, deny
allow from all

Нам нужно написать следующий код, где page.html – это наша страница, к которой мы хотим закрыть доступ:

deny from all

Если нам нужно, чтобы на эту страницу могли зайти только мы, то в код нужно добавить наш IP адрес (где 213.158.112.202 наш IP адрес):

deny from all
allow from 213.158.112.202

Если же нужно наоборот, чтобы могли зайти все, кроме определённого IP, то код меняем так (где 42.112.80.200 блокируемый IP адрес):

Оцените статью
Много толка
Добавить комментарий