0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как в htaccess запретить доступ по IP диапазону

Содержание

Как в htaccess запретить доступ по IP диапазону

Если вас интересует, как заблокировать доступ по IP к сайту нежелательным личностям, спамерам и прочим, то вам надо создать или отредактировать файл .htaccess и воспользоваться синтаксисом Order Allow,Deny либо Order Deny,Allow . Между ними есть разница:

  • Order Allow,Deny
    Сначала обработаются разрешающие правила Allow , потом запрещающие Deny , а всё, что не попадает под них, будет запрещено;
  • Order Deny,Allow
    Сначала будут обработаны запрещающие правила Deny , потом разрешающие Allow , а все, что не попадут под них, будут разрешены по умолчанию.

Обратите внимание на синтаксис, никаких лишних пробелов, иначе можно вызвать ошибку 500 Internal Server Error

Если это касается всего сайта, файл создаётся в корне, если нужно закрыть лишь определённую его часть, например, админку, файл .htaccess должен располагаться непосредственно в этом разделе.
Ну, и конечно же, ваш сервер (бекенд или рабочий) должен быть Apache. Если ваш рабочий сервер NGINX + php-fpm, то править придётся конфигурационный файл nginx.

Блокировка сайтов в Windows с помощью файла hosts

Самый известный способ заблокировать определенный сайт в Windows – отредактировать файл hosts. Обычно файл находится в каталоге %windir%system32driversetc. Обратите внимание, что у файла hosts нет расширения.

Файл hosts используется для ручного назначения соответствий между IP адресами и DNS именами. При выполнении разрешении имен файл hosts имеет приоритет над DNS серверами, указанными в настройках сетевых подключений,

Чтобы заблокировать определенный сайт (например, ok.ru), откройте на редактирование файл hosts (с правами администратора) и добавьте в него строки вида:

127.0.0.1 ok.ru
127.0.0.1 www.ok.ru

Сохраните файл и перезагрузите компьютер (или очистите DNS кэш командой: ipconfig /flushdns ).

После этого при попытке открыть сайт ok.ru в любом браузере будет появляется сообщение “Страница не найдена” / “Страница не доступна”.

Вы можете добавлять новые строки с URL сайтов в файл hosts с помощью такого bat файла:

@echo off
set hostspath=%windir%System32driversetchosts
echo 127.0.0.1 www.facebook.com >> %hostspath%
echo 127.0.0.1 facebook.com >> %hostspath%
exit

Либо можно воспользоваться следующими PowerShell функциями для автоматизации блокировки (разблокировки) определенных сайтов в списке запрещенных доменов в файле hosts.

Function BlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) <
$hosts = ‘C:WindowsSystem32driversetchosts’
$is_blocked = Get-Content -Path $hosts |
Select-String -Pattern ([regex]::Escape($Url))
If(-not $is_blocked) <
$hoststr=»127.0.0.1 ” + $Url
Add-Content -Path $hosts -Value $hoststr
>
>

Function UnBlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) <
$hosts = ‘C:WindowsSystem32driversetchosts’
$is_blocked = Get-Content -Path $hosts |
Select-String -Pattern ([regex]::Escape($Url))
If($is_blocked) <
$newhosts = Get-Content -Path $hosts |
Where-Object <
[H1toH2]

PowerShell: правила блокировки сайтов по имени и IP адресу в брандмауэре Windows

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

Читать еще:  Что такое фидуциарная ответственность. Фидуциарные обязательства. Что такое фидуциар

New-NetFirewallRule -DisplayName «Block Site» -Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress 217.20.147.1, 217.20.141.0/26

Строка “ The rule was parsed successfully from the store” говорит о том, что правило новое правило брандмауэра успешно применено. Вы можете найти его в графическом интерфейсе Windows Firewall.

Чтобы не резолвить имя сайта в IP адреса вручную можно использовать PowerShell командлет Resolve-DnsName для получения IP адресов сайтов.

Resolve-DnsName «ok.ru»| Select-Object -ExpandProperty IPAddress

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

$IPAddress = Resolve-DnsName «ok.ru»| Select-Object -ExpandProperty IPAddress
New-NetFirewallRule -DisplayName «Block Site» -Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress $IPAddress

Получается, что теперь вы можете добавить запрещающее правило в Windows Firewall сразу для нескольких сайтов:

$SitesToBlock = “lenta.ru”,”mail.ru”,”facebook.com”
$IPAddress = $SitesToBlock | Resolve-DnsName -NoHostsFile | Select-Object -ExpandProperty IPAddress
New-NetFirewallRule -DisplayName «Block Web Sites» -Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress $IPAddress

У командлета Resolve-DnsName я добавил параметр –NoHostsFile, чтобы не использовать при проверке файл hosts.

Проверим, что блокирующее правило для исходящего появилось в консоли.

Эта статья прежде всего разминка для ума. В корпоративной сети для ограничения доступа к сайтам нужно использовать фильтрацию на уровне шлюза доступа в интернет или прокси-сервере. Блокировка доступа на уровне хостов не столь эффективна.

-notmatch ([regex]::Escape($Url))
>
Set-Content -Path $hosts -Value $newhosts
>
>

Теперь чтобы добавить определенный сайт в заблокированные достаточно выполнить функцию:

Чтобы разблокировать сайт запустите:

[/H1toH2]

Способы блокировки IP-адресов

Вы можете запретить подозрительным IP-адресам доступ к вашим сайтам. В зависимости от типа атаки, вот несколько вещей, которые вам нужно сделать, чтобы заблокировать IP-адреса виновника.

Через Панель Администратора WordPress (Блок Комментариев)

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


Перейдите в раздел «Настройки» > «Обсуждение».
Прокрутите вниз до раздела «Черный Список комментариев».

Введите или вставьте IP-адрес, который вы хотите заблокировать в текстовом поле.
Сохраните настройки.
Это предотвратит доступ пользователя с указанным IP-адресом к комментариям на вашем сайте.

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

Вам необходимо перейти public_html/.htaccess и добавить следующие строки:

Эти строки блокируют доступ для всех пользователей, использующих 127.0.0.1 IP адрес. Просто измените 127.0.0.1 на IP, который Вы хотите заблокировать.

Вы можете загрузить список IP адресов для каждой страны по следующей ссылке: https://www.countryipblocks.net/country_selection.php

Статьи и Руководства

Полный список статей для знакомства с веб-разработкой. Узнайте о сфере программирования. Найдите информацию по использованию панели управления Hostinger.

Хостинг
  • Хостинг Cайтов
  • VPS-хостинг
  • Хостинг Майнкрафт
  • Облачный Хостинг
  • WordPress Хостинг
  • Хостинг Почты
  • CMS Хостинг
  • Хостинг для Магазина
  • Бесплатный Хостинг
  • Конструктор Сайтов
Домены
  • Проверить Домен
  • Перенос Домена
  • Бесплатный домен
  • Домен XYZ
  • SSL-сертификат
  • Стоимость Домена
  • Проверка WHOIS
Информация
  • Состояние Сервера
  • Партнерская Программа
  • Отзывы
  • Способы Оплаты
  • Аллея Славы
  • Создателям YouTube

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

  • и другие

Как закрыть доступ к сайту по IP адресу на WordPress

Рано или поздно вы столкнётесь с необходимостью ограничить доступ к своему ресурсу по IP адресу определенных пользователей. Это стандартная процедура и может быть вызвана по ряду многих причин, которые рассмотрим чуть ниже. Есть пару способов запретить доступ к вашему сайту по IP, к примеру, через cPanel или путем редактирования файла .htaccess. Этот файл имеется на каждом сайте и WordPress не исключение, тем более данный файл обладает большими возможностями одними из них можете ознакомиться в статье «Возможности файла .htaccess в WordPress».

Читать еще:  Как запретить создание папки System Volume Information на флешке?

Закрываем доступ к сайту по IP через cPanel

Пожалуй, начнем с cPanel, поскольку к нему редко прибегают, но все же он является как один из способов и о нем нужно знать. На многих хостингах предоставляется cPanel в качестве управления хостингом. После регистрации на каком-то веб — хостинге вам дают ссылку к доступу cPanel, перейдя по ней нужно будет ввести логин и пароль. Затем, прокрутить немного ниже к разделу «Безопасность» и выбрать «Диспетчер IP адресов».

На открывающей странице вы увидите следующее:

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

Ограничиваем доступ к сайту по IP адресу через файл .htaccess

Выше упомянутым вторым способом является редактирование файла .htaccess. Это более часто употребляемым метод чтобы ограничить доступ к своему сайту. Говоря о причинах, зачем может понадобиться вообще ограничение, то их довольно — таки много. Исходя из выбора, блокирования доступа к сайту заложена сама и причина.

Блокируем определенный IP адрес

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

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

Пример.

Закрываем всем доступ к сайту кроме определенного IP адреса

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

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

Пример.

Блокируем доступ к сайту по маске IP адреса

Еще один вариант закрытия доступа к сайту только в этот раз по маске IP. Это прописывается таким образом:

То есть, указывается только начальные строки IP адреса. Что это даст? А даст следующий результат: все IP адреса, которые начинаются с этих начальных цифр будут блокироваться.

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

Теперь пара слов о том, как регулятор контролирует исполнение блокировки. Каждый провайдер связи обязан установить в своей сети комплекс «Ревизор». Эта система проводит постоянные тесты, доступны ли из нашей сети адреса из выгрузки, и если они доступны, отправляет отчёты в РКН. Мы тоже можем видеть эти отчёты в своём личном кабинете — он есть у каждого оператора, включенного в «Ревизор», — и понимать, что у нас блокируется, а что нет. Так мы можем сами себя контролировать.

Если у нас ломается, мы должны сообщать об этом в местное представительство Роскомнадзора, если это длительное время — от 12 часов и дольше — у нас не работает, то наступают санкции, достаточно серьёзные штрафы, причём и на компанию, и отдельно на ответственное лицо. Поэтому операторы в целом следят за соблюдением требований регулятора, так как за многочисленные нарушения можно и лицензию потерять.

Читать еще:  Tokyo Game Show в этом году решили отменить и перенести в онлайн

Настройка URL-фильтра на D-Link. Блокируем доступ к сайтам

В любом случае, нам сначала нужно зайти в панель управления маршрутизатора. Для этого нужно перейти по адресу 192.168.0.1 и указать данные для входа. Заводские: admin и admin. Если вы их меняли, значит указываете свои. Вот подробная инструкция: как зайти в настройки роутера D-Link.

Сначала я покажу как все это делается в самой новой (на момент написания статьи) панели управления. Обновил свой DIR 615 перед тем, как писать инструкцию.

  1. В настройках нужно открыть раздел «Межсетевой экран» – «IP-фильтр».
  2. Включить функцию «URL-фильтр».
  3. Выбрать режим блокировки. Блокировать только сайты из списка, или блокировать все сайты, кроме тех, которые в списке.
  4. Добавить в список адреса сайтов, которые необходимо заблокировать.

Сохраняем настройки нажав на кнопку «Применить», и сайты будут заблокированы. Если не сработает – перезагрузите роутер.

Давайте рассмотрим еще другие версии прошивок. С другими панелями управления.

Если у вас другая панель управления D-Link

В версии прошивки 2.5 сама страница с настройками у меня была другой. Нужно открыть раздел «Контроль» – «URL-фильтр». Включаем функцию и выбираем режим блокировки.

Дальше переходим в раздел «URL-адреса» и добавляем в список адреса необходимых сайтов. Должно получится примерно вот так:

Добавляем все необходимые сайты.

Блокировка сайтов в темной панели управления D-Link

Все примерно так же. В настройках, на вкладке «Контроль» выберите «URL-фильтр». Дальше нужно на вкладке «Конфигурация» включить эту функцию. Затем переходим на вкладку «URL-адреса» и добавляем необходимые адреса в список.

Не забудьте сохранить настройки.

Пишите комментарии, задавайте вопросы. Всего хорошего!

Черный список сайтов для фильтрации

Для того, чтобы не создавать отдельные правила для каждого сайта, можно просто создать общий список блокировки и добавлять туда домены. Покажу на примере популярных видеохостингов. Настроим блокировку одним правилом youtube.com, vimeo.com, rutube.ru, ivi.ru, video.mail.ru. Для этого идем в раздел IP -> Firewall -> Address List и добавляем их все туда. Получился такой статический список.

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

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

Блокирование сайтов с помощью статических DNS записей

Заблокировать доступ к сайту можно также, создав статическую DNS запись с названием сайта и несуществующим IP адресом для него, например 127.0.0.1. Перед именем сайта бывает автоматически приписывается www, поэтому нужно создавать две записи, например odnoklassniki.ru и www.odnoklassniki.ru

Откройте меню NewTerminal и выполните следующие команды для блокировки одноклассников:

У пользователей заблокированные сайты еще будут открываться некоторое время, потому что на компьютерах есть DNS кэш, в котором временно хранятся имена посещенных сайтов и их IP адреса. Для очистки DNS кэша на компьютере нужно запустить командную строку cmd и ввести команду ipconfig /flushdns.

Такой способ блокирования сайтов будет работать только в том случае, если пользователь использует DNS сервер центрального роутера MikroTik. Если пользователь настроит вручную другой адрес DNS сервера, то ограничение работать не будет. Поэтому все DNS запросы необходимо завернуть на наш роутер. Для этого откройте меню New Terminal и выполните следующие команды:

Далее перейдите в меню IP — Firewall и на вкладке NAT переместите созданные правила вверх. Теперь все DNS запросы будут идти через наш роутер.

Ссылка на основную публикацию
Статьи c упоминанием слов:

Adblock
detector