Запрет по 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 и cPanel IP Blocker

2023-01-29

Если вы хотите ограничить доступ к своему сайту, это можно сделать с помощью файла . htaccess или cPanel IP Blocker.

  • Ограничение доступа к сайту с помощью файла .htaccess
  • Запретить доступ ко всем файлам и папкам с помощью .htaccess
  • Запретить доступ к определенным типам файлов с помощью .htaccess
  • Запретить доступ к определенному файлу через .htaccess
  • Запретить доступ с определенных IP-адресов с помощью .htaccess
  • Запретить доступ с определенных доменов через .htaccess
  • Ограничить доступ к сайту с помощью IP Blocker cPanel
  • Снять ограничения доступа в файле .htaccess
  • Запретить доступ с IP-адресов через IP-блокиратор cPanel
  • Запретить доступ с определенных доменов через IP Blocker cPanel
  • Управление заблокированными IP-адресами и доменами с помощью IP Blocker cPanel

.htaccess — это файл конфигурации, используемый веб-сервером Apache. Параметры .htaccess переопределяют глобальные настройки каталога, в котором находится этот файл.

Файл .htaccess создается на сервере автоматически, когда вы устанавливаете WordPress, Drupal и Magento.

Его также можно создать в текстовом редакторе и загрузить на сервер. А также с помощью файлового менеджера cPanel .

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

В верхнем меню навигации выберите пункт «Моя cPanel» .

Затем выберите пункт «Менеджер файлов» .

В правом верхнем углу экрана нажмите кнопку «Настройки».

Файлы .htaccess по умолчанию скрыты от просмотра. Чтобы открыть их, установите флажок «Показать скрытые файлы (dot- файлы)» (панель «Настройки»), а затем нажмите кнопку «Сохранить».

Перейдите в корень сайта, используя левую боковую панель. Проверьте, существует ли файл .htaccess.

Выделите его и нажмите кнопку «Изменить» в верхнем меню.

Также можно создать новый файл .htaccess, нажав кнопку «+ Файл».

В открывшейся панели «Новый файл» введите .htaccess в качестве имени файла и нажмите кнопку «Создать новый файл». Если нужно подтвердить используемые кодировки, оставьте значения по умолчанию и нажмите «Изменить».

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

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

deny from all

Этот пример блокирует доступ к файлам .php .

<Files ~ ".php$">
Order allow,deny
Deny from all
</Files>

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

<Files ~ ".inc$">
Order allow,deny
Deny from all
</Files>

Блокировка доступа к определенному файлу осуществляется с помощью следующего правила:

<Files config.php>
order allow,deny
Deny from all
</Files>

В этом примере блокируется доступ к файлу config.php, который находится в том же каталоге, что и файл .htaccess.

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

deny from 123.456.789.123

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

deny from 123.456.789.

Приведенное выше правило блокирует доступ к сайту IP-адресам в диапазоне от 123,456,789,0 до 123,456,789,255.

Приведенное ниже правило будет выводить ошибку 403 Forbidden для любого пользователя, перешедшего на сайт по ссылке, размещенной в problemdomain.com:

SetEnvIfNoCase Referer "problemdomain.com" bad_referer
Order Allow,Deny
Allow from ALL
Deny from env=bad_referer

Также для всех, кто перешел с указанного домена, можно выводить ошибку 500 Internal Server Error:

RewriteEngine on
RewriteCond %{HTTP_REFERER} example.com [NC,OR]
RewriteRule .* - [F]

Альтернативный способ запретить доступ к сайту заключается в использовании функции блокирования IP-адресов cPanel.

Перейдите в «Моя cPanel», раздел «Безопасность».

IP Blocker обеспечивает меньшую гибкость по сравнению с файлом .

htaccess. Но он проще в использовании. Например, с его помощью вы сможете заблокировать доступ к сайту по IP, диапазону IP-адресов или домену. Но при этом не сможете ограничить доступ к определенным файлам.

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

Чтобы снять ограничения доступа, указанные в .htaccess, просто удалите правило из файла с помощью текстового редактора cPanel File Manager .

IP Blocker работает аналогично правилу .htaccess. Вы можете указать IP-адреса в следующих форматах:

  • Один IP-адрес:168.0.1
  • Диапазон:168.0.1-192.168.0.40
  • Подразумеваемый диапазон:168.0.1-40
  • Формат CIDR:168.0.1/32
  • Блок IP: 192.

Введите IP-адрес или диапазон и нажмите кнопку «Добавить».

Чтобы заблокировать трафик, идущий на ваш сайт с конкретного домена, введите имя домена в поле «Добавить IP или диапазон».

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

В разделе «Заблокированные в настоящее время IP-адреса» приводится список IP-адресов, которые заблокированы. Чтобы снять ограничения доступа, нажмите кнопку «Удалить» рядом с IP-адресом или диапазоном.

Пожалуйста, оставьте свои отзывы по текущей теме материала. Мы крайне благодарны вам за ваши комментарии, дизлайки, отклики, подписки, лайки!

Вадим Дворниковавтор-переводчик статьи «How to restrict access to your website with .htaccess and the cPanel IP Blocker»

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

htaccess

23 декабря 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

спросил

Изменено 1 месяц назад

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

Я обнаружил, что диапазон 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 и загрузив .