Заблокировать ip htaccess: Как заблокировать IP-адрес с помощью файла .htaccess

Содержание

Запрет по IP доступа к сайту в файле .htaccess

Спамеры достали, а значит пришло время уделить им внимание. В этой статье рассмотрим, как запретить доступ к сайту с определённых IP с помощью изменения настроек сервера Apache в файле .htaccess. Это очень радикальный способ отвадить недобросовестных посетителей от сайта. Радикальность данного способа заключается в том, что данным способом можно отключить показ сайта (или папки на сайте) пользователю по его IP. Пользователь конечно может попытаться обойти ограничение, сменив IP с помощью прокси-сервера или сменив провайдера, но возможности его сильно ограничиваются (списком прокси-серверов и провайдерами, предоставляющими услуги доступа в интернет) и, рано или поздно, ему это надоест и он не захочет и/или не сможет больше вам докучать.

Спам на сайте. Куда бежать? Или не бежать?

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

Так на сайте, посвящённом работе на компьютере, созданию сайтов и работе в интернете, могут несколько раз в сутки появляться комментарии к статьям со ссылками и текстом явно рекламного характера и никак не относящиеся к теме статьи или даже всего сайта. Что же делать?

Определяем IP пользователей, которые оставляют спам на сайте

Одним из способов борьбы со спамерами является закрытие им доступа на сайт. Но для этого нужно определить IP их компьютера (или сервера) с которого они оставляют свои сообщения. Можно конечно посмотреть в логи сервера, но многие программы могут записывать и хранить IP пользователя, оставившего сообщение. Так проще отследить и проконтролировать IP, например:

Запрет по IP доступа к сайту в файле .htaccess

И вот наконец добрались до сути. Когда есть IP и хостинг позволяет использовать процедуру deny from в файле .htaccess, можно запретить пользователям с определённых IP заходить на сайт.

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

Order allow,deny
allow from all
Deny from 79.173.83.153

Первые две строчки разрешают всем пользователям получать данные из папки и всех в неё вложенных папках.

А последняя сточка запрещает пользователям с указанным IP доступ к содержимому папки и всем файлам и папкам, находящимся в ней, выдавая такому пользоватею 403-ю ошибку: Forbidden. Запрет доступа к ресурсам сервера:

Резюме

Таким образом можно закрыть доступ спамерам до сайта.

Радикальное решение, но которое точно отвадит их от вашего сайта.

Также можно ограничить доступ по IP не ко всему сайту, а только к определённой его части. Для этого нужно создать файл .htaccess в той папке, доступ к которой нужно ограничить. Это позволит допускать пользователей только к определённым ресурсам на сайте, запрещая доступ в другие.

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

Спамеры больше не пройдут! =)

Продолжение о борьбе со спамерами читать → в этой статье.

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Выберите, то, чем пользуетесь чаще всего:

Контроль доступа через .htaccess для apache2.4 — Раздел помощи

Файл

.htaccess позволяет производить дополнительную конфигурацию веб-сервера Apache для:

  • переадресации на другой домен
  • контроля доступа к сайту
  • изменения значений директив PHP
  • отображения собственных страниц ошибок

Директивы для веб-сервера Apache2. 4+ отличаются от Apache2.2. В примерах указаны директивы для обеих версий web-серверов.

Для контроля доступа к сайту можно использовать следующие директивы:

  • Отклонить все запросы
  • Разрешить все запросы
  • Запретить доступ на основе имени хоста
  • Запретить доступ на основе IP-адреса
  • Запретить доступ совсех IP-адресов, кроме нужного
  • Запретить доступ к определенному файлу
  • Разрешить доступ к определенному файлу с IP-адреса
  • Запретить доступ по User-Agent (блокировка ботов)

Важно: нельзя использовать директивы для веб-сервера Apache2.4+ и Apache2.2 одновременно. Это может привести к некорректной работе сайта.

Домены с кириллическими символами

При использовании кириллических доменных имён в файле .htaccess, их необходимо указывать в формате Punycode. Перекодировать их можно с помощью сервиса.

Отклонить все запросы

Apache 2. 2

Order deny,allow
Deny from all

Apache 2.4

Require all denied

Разрешить все запросы

Apache 2.2

Order allow,deny
Allow from all

Apache 2.4

Require all granted

Запретить доступ на основе имени хоста

Apache 2.2

Order Allow,Deny
Allow from all
Deny from example.com

Apache 2.4

<RequireAll>
Require all granted
Require not host example.com
</RequireAll>

Использование директив <RequireAll> и Require all granted обязательны если используется более сложная конструкция.

Запретить доступ на основе IP-адреса

Для ограничения доступа к сайту с определённых IP-адресов в файл .htaccess требуется добавить:

Apache 2.2

Order Allow,Deny
Allow from all
Deny from 111.111.111.111
Deny from 222.222.222.222
Deny from 123.123.123.123

Apache 2.4

<RequireAll>
Require all granted
Require not ip 111. 111.111.111
Require not ip 222.222.222.222
Require not ip 123.123.123.123
</RequireAll>

Запретить доступ совсех IP-адресов, кроме нужного

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

Apache 2.2

Order Deny,Allow
Deny from all
Allow from 111.111.111.111

Apache 2.4

Require ip 111.111.111.111

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

Настройка ограничения доступа к определённым файлам производится путем добавления в .htaccess директив:

Apache 2.2

<Files ПУТЬ_К_ФАЙЛУ>
Order Allow,Deny
Allow from all
Deny from 123.123.123.123
</Files>

Apache 2.4

<Files ПУТЬ_К_ФАЙЛУ>
<RequireAll>
Require all granted
Require not ip 123.123.123.123
</RequireAll>
</Files>

где ПУТЬ_К_ФАЙЛУ - необходимо заменить на целевой файл, а IP — на IP-адрес, для которого будет запрещен доступ.

Разрешить доступ к определенному файлу с IP-адреса

Настройка ограничения доступа к определённым файлам производится путем добавления в .htaccess директив:

Apache 2.2

<Files ПУТЬ_К_ФАЙЛУ>
Order Deny,Allow
Deny from all
Allow from 123.123.123.123
</Files>

Apache 2.4

<Files ИМЯ_ФАЙЛА>
Require ip 77.222.44.126
Require ip 123.123.123.123
</Files>

где ИМЯ_ФАЙЛА - необходимо заменить на целевой файл, а IP — на IP-адрес, для которого будет разрешен доступ.

Запретить доступ по User-Agent (блокировка ботов)

Apache 2.2

SetEnvIfNoCase User-Agent «AESOP_com_SpiderMan» bad_bot
SetEnvIfNoCase User-Agent «AhrefsBot» bad_bot
Order Allow,Deny
Allow from all
Deny from env=bad_bot

Apache 2.4

<If «%{HTTP_USER_AGENT} =~ m#BadBot#i»>
Require all denied
</If>

где BadBot - необходимо заменить на User_Agent, которым представляется бот. Узнать его можно из лога запросов.


Полный список и подробности того, какие директивы доступны для редактирования через файл

.htaccess, предоставлены в официальной документации PHP и веб-сервера Apache2.4:

  • Документация PHP
  • Список директив php.ini
  • Веб-сервер Apache2.4

Как заблокировать IP по стране с помощью файла .htaccess

htaccess

17 ноября 2022 г.

Эльвинас С.

2 мин Чтение

Этот быстрый и простой учебник покажет вам, как управлять доступом к сайту в зависимости от местоположения посетителей. С некоторыми изменениями в файле .htacess можно разрешить или заблокировать посетителей из определенных стран. Продолжай читать!

Разрешение или блокировка посетителей из определенных стран с помощью .

htaccess

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

К счастью, вы можете использовать файл WordPress .htaccess , чтобы разрешать или блокировать посетителей из определенных стран. Давайте узнаем, как это сделать.

Шаг 1. Генерация IP-адресов страны

Доступно множество онлайн-инструментов, позволяющих разрешать или блокировать посетителей в зависимости от их страны. В этом руководстве мы будем использовать

блоков IP-адресов страны .

  1. Перейдите на домашнюю страницу блокировок IP-адресов страны.
  2. Выберите страны, которые вы хотите заблокировать или разрешить.
  3. В разделе Выберите формат выберите Apache .htaccess Запретить или Apache .htaccess Разрешить. Выбор зависит от того, хотите ли вы заблокировать или разрешить посетителей из этих стран.
  4. Нажмите Создать ACL .
  5. Результаты ACL появятся в правой части экрана. Нажмите кнопку Копировать ACL в буфер обмена .
  6. Если вы используете функцию разрешить , обязательно вставьте строку запретить со всех выше списка разрешенных IP-адресов.

Шаг 2: Вставьте сгенерированные IP-адреса в файл .htaccess

Наконец, вставьте IP-адреса стран, которые вы хотите заблокировать или разрешить, в файл

.htaccess . Вот как это сделать с помощью hPanel от Hostinger:

  1. Перейдите в Files -> File Manager .
  2. Выберите свой домен и нажмите Перейти к диспетчеру файлов .
  3. Перейти к public_html и дважды щелкните файл .htaccess .
  4. Вставьте ACL в файл .htaccess и нажмите Сохранить и закрыть . Ваш файл .htaccess будет выглядеть так:

Вы также можете использовать FTP-клиент для редактирования файла .htaccess .

Важно! Если вы не можете получить доступ к своему веб-сайту после вставки сгенерированных IP-адресов, проверьте, включен ли ваш IP-адрес в черный список. Вы можете найти свой IP-адрес через What Is My IP Address

Заключение

Из этого руководства вы узнали, как легко заблокировать или разрешить посетителям из определенных стран. Все, что вам нужно сделать, это сгенерировать IP-адрес страны с помощью блоков IP-адресов страны , а затем вставить список контроля доступа (ACL) в файл .htaccess .

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

Эльвинас — старший администратор серверов в Hostinger. Он следит за благополучием инфраструктуры и поддерживает максимальное время безотказной работы. Помимо управления серверами, одним из его самых больших увлечений всегда была веб-разработка.

Подробнее от Elvinas S.

Как заблокировать диапазон IP-адресов с помощью файла .htaccess

спросил

9 лет, 3 месяца назад

Изменено 5 лет, 4 месяца назад

Просмотрено 78 тысяч раз

Я обнаружил, что диапазон IP-адресов может быть использован злонамеренным образом, и я не знаю, как это заблокировать. 9- [Ф]

9

Использовать только первые 3 октета

 Порядок Разрешить, Запретить
Запретить с 66.249.74.
Разрешить от всех
 

Я только что воспользовался

 Заказать Разрешить, Запретить
Запретить с 188.143.*.*
Разрешить от всех
 

, поскольку спам-атака исходит от xxx. xxx.0-80.0-80 .

Вы можете перейти по адресу: и ввести ips, и он сгенерирует для вас файл. http://www.htaccesstools.com/block-ips/

Также, например, вы хотите заблокировать 9https?://([a-z0-9-]+\.)?google\.com [NC] Правило перезаписи .* — [F]


В приведенном выше примере используется регулярное выражение, поэтому оно будет блокировать:

  • https:// или http://
  • , за которым следует любой субдомен (или ни одного)
  • , за которым следует google.com
  • , за которым следует что-нибудь (или ничего)

Флаг [F] означает Запрещено . Сервер вернет 403 Forbidden Error .

1

вы можете легко сделать это, добавив диапазоны IP-адресов в свой файл .htaccess, загрузив полные диапазоны с https://www.ip2location.com/blockvisitorsbycountry.aspx и загрузив .

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

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