Блокировка через файл Hosts
Метод блокировки веб-ресурсов через Hosts — локальную базу IP-адресов и сопоставленных им доменных имен, рассчитан на самых неопытных. Так как про Hosts сегодня знают даже младшие школьники, для многих не составит труда обнулить настройку и свести ваши старания на нет. Поэтому вам следует предпринять и меры по ее защите. Например:
- Создать для пользователя, которому вы собираетесь закрыть доступ к нежелательным сайтам, учетную запись с ограниченными правами. Тогда он не сможет ничего исправить в файле Hosts при всем желании.
- Использовать хитрости для сокрытия блокирующих записей.
Сама технология блокировки очень проста:
- Авторизуемся в Windows под учеткой администратора.
- Заходим в папку %Windir%\System32\drivers\etc, находим файлик без расширения с именем «Hosts» и открываем с помощью Блокнота или замещающей его программы. Чтобы не было проблем с сохранением изменений, можно сделать так: запустить Блокнот Windows (файл notepad.exe, находится в папке Windows) с правами админа, через меню «Файл» — «Открыть» перейти к Hosts и загрузить его в программу.
- В любое место файла с новой строки добавляем запись 127.0.0.1 сайт, где вместо «сайт» прописываем адрес блокируемого ресурса.
Сохраняем файл на прежнем месте. Чтобы блокнот не приписал ему расширение txt, имя «hosts», пишем в кавычках, а из типов файла выбираем «все файлы».
После этого сайт перестанет открываться в браузерах, так как компьютер будет искать его не в Интернете, а на самом себе.
Хитрости, которые помешают пользователю удалить вашу запись в Hosts
Первый вариант — это сокрытие самой записи в файле. Сделать ее невидимой невозможно, но между комментариями (строчками, начинающимися с #) и ней можно вставить 2-3 сотни пустых строк
Пользователь при открытии файла, скорее всего, не обратит внимание на полосу прокрутки документа и не увидит вашу запись, так как она будет далеко внизу
Второй вариант — это перемещение файла Hosts в другое, более укромное место. Куда его поместить, решайте сами, но чтобы система его не потеряла, придется внести небольшую правку в реестр. Откройте в редакторе RegEdit ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters и в значении параметра DataBasePath пропишите новый путь к Hosts.
Стандартный .htaccess для WordPress
В большинстве случаев при установке WordPress на хостинг .htaccess создается в корневой директории сайта. Однако иногда этого не происходит и тогда нужно создать этот файл самостоятельно. Для этого выполните следующие действия:
- Подключитесь к хостингу по FTP, используя FileZilla или другой FTP-клиент, и перейдите в корневую директорию сайта.
- Кликните правой кнопкой мыши по правому окошку с файлами сайта и выберите «Создать новый файл».
- Введите .htaccess и нажмите OK.
Обратите внимание! Убедитесь, что ввели имя .htaccess (с точкой), а не htaccess (без точки). Другой способ создания файла .htaccess — через Консоль WordPress
Выберите в главном меню Настройки > Постоянные ссылки и, ничего не меняя на странице, нажмите кнопку «Сохранить изменения»
Другой способ создания файла .htaccess — через Консоль WordPress. Выберите в главном меню Настройки > Постоянные ссылки и, ничего не меняя на странице, нажмите кнопку «Сохранить изменения».
Стандартный .htaccess для WordPress выглядит следующим образом:
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php # END WordPress
По умолчанию в .htaccess WordPress-сайта указаны только правила для корректного отображения постоянных ссылок записей и страниц. Однако, это легко изменить, добавив в файл дополнительные правила, которые и будут описаны далее.
Как изменить доступ к файлам, с помощью .htaccess?
Для того чтобы это сделать, мы в корневой папке сайта создаем файл .htaccess. Данный файл необходимо открыть как обычный текстовик или с помощью программы для написания кода. Я открываю этот файл через программу Sublime Text.
ВНИМАНИЕ
Для файла .htaccess следует использовать права доступа 644 и загружать его в ASCII-режиме. Если ваш .htaccess файл не работает, то вам следует обратиться к системному администратору или в техподдержку вашего веб-хостинга и убедиться, что использование его разрешено для вашей учетной записи, так как некоторые хостинговые компании не позволяют его использование без предварительного разрешения, это в основном относится к бесплатным хостингам. Также, к сожалению, .htaccess не будет работать на Windows-серверах.
Первая директива, с которой мы познакомимся, это директива Order. Синтаксис директивы прост и она может быть использована в двух вариантах:
Order Deny,Allow # или Order Allow,Deny
Order Deny,Allow – это начала кода, которое показывает, что после него будут перечислены параметры ограничения доступа к файлам.
Allow – разрешает доступ.
Deny – запрещает.
В зависимости от выбранного варианта или для директивы Order, мы изменяем логику работы сервера. Если используем первый вариант (Deny,Allow), то мы сообщаем серверу, что хотим запретить доступ для всех (deny), кроме тех, которым разрешим (Allow).
Когда мы используете второй вариант (Allow,Deny), то подразумевается, что мы разрешаем доступ всем, кроме определенных IP.
Здесь стоит отметить, что на самом деле использование директивы Order не является обязательным и возможно использование директив Deny и Allow без директивы Order. Также не будет ошибкой, если, к примеру, объявив в директиве Order вариант Deny,Allow, мы сначала используем директиву Allow, а затем Deny. Хотя все же лучше будет, если мы в этом вопросе не будем отходить от рекомендаций документации.
2. Закройте доступ к wp-login.php и wp-admin
Если вы используете статический IP, вы можете запретить доступ к странице входа или панели администратора:
Первые две строчки перенаправляют посетителя с неавторизованного IP на страницу с ошибкой 404. Это правило не будет вызывать цикличные редиректы, ваш сайт не будет выглядеть как зависший.
Замените в двух первых строчках на свой адрес.Замените , и на те IP адреса, с которых вы хотите иметь доступ к страницам wp-login.php и wp-admin.
Если вам нужен только один IP адрес, удалите строки 9 и 10, если вам нужно больше адресов, добавьте нужное количество строк.
Если вы или другие пользователи имеют динамические IP (или Мультисайт), используйте следующее правило:
Замените и на свой адрес.
Хакеры используют ботов, чтобы пытаться попасть в админку Вордпресс. Это правило определяет, что только те пользователи, которые вручную набрали или в браузере, получат доступ к этим страницам.
Этот способ не защитит от хакеров, которые вручную набирают адрес страницы входа на сайт, но значительно уменьшит количество автоматических брут-форс атак (перебор паролей).
Еще один способ — создайте файл .htaccess в папке . Это правило разрешает доступ к папке только указанным ip:
Замените и на свои IP.
Как изменить адрес страницы входа на сайт
Блокировка IP-адресов директивой Deny
Разрешаем только методы GET, HEAD, POST:
Запрещаем доступ к сайту для всех методов с IP-адресов AfriNIC, APNIC, LACNIC:
Данным правилом я запретил доступ к сайту для IP-адресов стран Африки, Юго-Восточной Азии, Южной Америки и Карибского бассейна, а также некоторых корпораций и учрежний типа министерства обороны страны, скорый кирдык которой предрекал герой Сергея Бодрова в фильме «Брат»
Обратите внимание, что в этом списке отсутствуют IP-адреса из смешанных зон, которые можно найти на сайтах AfriNIC, APNIC, LACNIC и RIPE. Однако данные диапазоны отсекают основной объем паразитного трафика
IP-адреса ARIN блокировать не рекомендуется, иначе роботы поисковых систем Bing, Google, Yahoo не смогут заходить на ваш сайт.
Я умышленно задал порядок обработки правил Deny,Allow (при отсутствии директив Allow директиву Order лучше не использовать), а не наоборот, чтобы иметь возможность добавить ниже разрешающие правила исключений для некоторых IP-адресов из заблокированных диапазонов. Однако имейте ввиду, что и другие запрещающие правила для этих IP-адресов, касающиеся, например, запрета на использование определенных символов в URL, могут не действовать — будут разрешены любые URL-запросы. В этом случае запрещающие правила можно продублировать в mod_rewrite, проверяя условия через переменные окружения, установленные в mod_setenvif:
Кстати, в случае использования порядка обработки правил Allow,Deny рекомендуется прописать в самом начале разрешающее правило для всех Allow from all, но это не самое удачное решение — лучше его не использовать, если вы собираетесь устанавливать выборочно запрещающие правила.
Примечание: для отображения сообщения об ошибке 403 (доступ запрещен) лучше использовать не собственную страницу, а короткое сообщение, уменьшая тем самым нагрузку на сервер (какая вам разница, что увидят китаец или румын, пытавшиеся попасть на ваш сайт). Например, послать всех по известному адресу:
На роутере
Настройки контроля доступа на роутерах разных моделей неодинаковы, но их алгоритм во многом схож. Разберемся, как блокировать доступ к нежелательным сайтам на примере TP-Link.
Контроль доступа TP-Link (и не только) работает в режиме черного и белого списков. В первом случае доступ разрешается к любым веб-ресурсам, кроме указанных. Во втором — запрещается ко всем, кроме, опять же, указанных. Рассмотрим в качестве примера создание черного списка, так как он используется чаще.
Заходим в админ-панель, открываем раздел «Контроль доступа» и нажимаем «Мастер настройки».
В новом окне выбираем режим «IP-адрес», указываем имя узла, для которого создаем правило, и прописываем его IP или диапазон адресов.
Далее выбираем режим «Доменное имя», пишем произвольное имя цели (для чего создается правило) и перечисляем запрещенные сайты.
Следующим этапом создаем расписание блокировки.
Потом задаем имя правила, проверяем все параметры и нажимаем «Завершить».
Последний шаг — выбор режима фильтрации (в нашем случае — запретить пакетам с указанных доменов проходить через маршрутизатор) и сохранение правила. Также не забываем отметить «Включить управление контролем доступа к Интернет».
На этом настройка закончена.
Примеры использования файла .htaccess
1. Перенаправление доменов c синонима сайта на основной домен с кодом 301
Перенаправить запросы на domain.ru с любого из синонимов сайта
Перенаправить запросы на www.domain.ru с любого из синонимов сайта
Эти правила рекомендуется размещать в самом начале файла .htaccess.
2. Постоянное перенаправление с кодом 301
Если вы изменили адрес страницы сайта, добавьте в .htaccess следующие строки, чтобы запросы со старого адреса переадресовывались на новый
где:
- page.html — адрес старой страницы относительно корня сайта;
- www.domain.ru — имя сайта;
- new_page.html — адрес страницы, на которую нужно выполнить перенаправление.
Подобное правило не сработает для перенаправления с адресов, содержащих Query String (символы после ?). Для запросов, содержащих QUERY_STRING, можно использовать сочетание RewriteCond и RewriteRule.
Например, для перенаправления всех запросов к странице /period/?test=123 вашего сайта на domain.ru, вы можете написать:
3. Переопределение страниц ошибок
При помощи файла .htaccess вы можете установить свои страницы ошибок:
Соответствующие файлы страниц ошибок (401.html, 404.html и др.) необходимо разместить в каталоге ~/ваш_домен/docs/errors.
Для того чтобы при случайном упоминании прямых ссылок на такие страницы они не проиндексировались в поисковых системах, рекомендуется:
a) в файле ~/ваш_домен/docs/robots.txt прописать
b) создать файл ~/ваш_домен/docs/errors/.htaccess, в котором прописать
4. Постраничное перенаправление запросов на другой домен c кодом 301
Следующий код перенаправит все запросы к страницам вашего сайта на аналогичные страницы другого сайта, например, запрос http://domain.ru/main будет переадресован на http://www.newdomain.ru/main:
либо
5. Ограничение доступа к сайту по IP
Запретить доступ к сайту с IP-адресов 123.4.5.6 и 123.5.4.3
Запретить доступ к сайту со всех адресов кроме 123.4.5.6 и 123.5.4.3:
Запретить доступ к сайту для всех:
6. Переопределение главной страницы сайта (индексного файла каталога)
Сделать главной страницей файл menu.html:
7. Включение обработки PHP в .html-файлах
8. Запрет выдачи листинга каталога
В случае отсутствия в папке главной страницы (индексного файла), при обращении без указания конкретного имени файла в запросе будет выдан список всех файлов, находящихся в каталоге. Для того чтобы запретить отображение листинга каталога, добавьте в файл .htaccess строку:
9. Включить выполнение CGI-скриптов в папке docs для файлов с расширениями .cgi, .pl. .py
В папке c CGI-скриптами необходимо разместить файл .htaccess с содержимым:
Скрипт должен иметь атрибут исполнения (+x, права доступа, начинающиеся с 7, например, 755).
Атрибуты (права доступа) можно изменить с помощью файлового менеджера панели управления, при помощи вашего FTP-клиента или по SSH. Также в разделе Веб-сервер → Управление модулями должен быть включен модуль CGI.
10. Блокировка переходов со сторонних ресурсов
Для запрета перехода c baddomain.ru на domain.ru добавьте в .htaccess следующее:
Если требуется запретить переходы с нескольких доменов, то используйте следующие директивы
11. Особенности использования кириллических доменов (.РФ, .МОСКВА и др.)
В файле .htaccess использование кириллицы не допускается. При составлении правил перенаправления для кириллических доменов необходимо указывать имя домена в punycode. Узнать имя домена в punycode можно с помощью сервиса Whois.
Например, для перенаправления site.ru на caйт.рф нужно воспользоваться следующим правилом:
В этом случае ваши посетители могут увидеть именно punycode-представление доменного имени в адресной строке браузера. Это не является ошибкой.
12. Перенаправление с HTTP на HTTPS и обратно
Для работы перенаправления на сайте должен быть установлен действительный SSL-сертификат.
Перенаправить запросы на https://domain.ru
Перенаправить запросы на http://domain.ru
3. Диагностика ошибок
Если после редактирования или размещения .htaccess при обращении к сайту вы получили ошибку 500, то, скорее всего, в файле .htaccess допущена ошибка. Посмотреть её причины вы можете в лог-файле /var/log/ваш_домен.error_log.
Способы блокировки IP-адресов
Вы можете запретить подозрительным IP-адресам доступ к вашим сайтам. В зависимости от типа атаки, вот несколько вещей, которые вам нужно сделать, чтобы заблокировать IP-адреса виновника.
Через Панель Администратора WordPress (Блок Комментариев)
Во-первых, перейдите в раздел комментариев через Панель администратора. Все пользователи, которые прокомментировали ваши статьи, будут видны. IP-адрес будет находиться прямо под профилем пользователя.
Скопируйте адрес пользователя, разместившего спам-комментарий.
Перейдите в раздел «Настройки» > «Обсуждение».
Прокрутите вниз до раздела «Черный Список комментариев».
Введите или вставьте IP-адрес, который вы хотите заблокировать в текстовом поле.
Сохраните настройки.
Это предотвратит доступ пользователя с указанным IP-адресом к комментариям на вашем сайте.
Почему вы должны заблокировать IP-адрес?
Скорее всего, вы уже сталкивались с блогами, в которых есть несколько комментариев, которые не совсем относятся к раскрытому контенту. Если вы несете ответственность за веб-сайт, такой как блог, вы не должны забывать, что вы находитесь в большой опасности. Вы можете не только преднамеренно получать комментарии, которые могут повлиять на репутацию вашего сайта. Ответственные за эти комментарии могут также использовать его как мост между ними и читателями, чтобы последние стали жертвами атаки. Этого и других неблагоприятных ситуаций можно избежать, заблокировав IP-адреса.
WordPress имеет свои плагины, которые позволяют вам модерировать поступающие комментарии. Можно с первого взгляда проверить содержание того же контента, затем вы можете отклонить содержание с подозрительным содержанием. Однако, если ваш сайт имеет большое количество комментариев, индивидуальная модерация будет слишком трудоемкой. Если вам нужно использовать свое время для других действий, вы можете рассмотреть возможность использования сторонних плагинов, которые могут модерировать комментарии, которые могут нанести вред структуре рассматриваемого сайта и репутации в результатах поиска.
Кибератаки в целом
Межсайтовый скриптинг является одной из самых опасных веб-атак и упоминается в популярных OWASP проект. Как задокументировано самим проектом, это тип внедрения скрипта и вредоносного кода в целом. Этот процесс внедрения происходит на законных веб-сайтах, чтобы они могли совершать злонамеренные действия против пользователей, которые их посещают. Как проводится эта атака? Чтобы дать вам некоторый контекст, киберпреступник использует веб-приложение для обмена вредоносным кодом. Как правило, этот код содержит сценарии, которые интерпретируются веб-браузерами, что означает, что пользователь, который использует браузер и получает доступ к уязвимому веб-сайту, будет подвержен влиянию любого действия, созданного этим сценарием.
Основная причина успешного внедрения вредоносного кода заключается в том, что веб-сайты и приложения не имеют необходимого контроля. В частности, в отношении сценариев, их содержания и их происхождения, это похоже на то, как если бы кто-то мог манипулировать контентом сайта, который нам не принадлежит.
Общие сведения
.htaccess — это конфигурационный файл веб-сервера Apache, который позволяет задавать различные настройки для работы веб-сервера, применяемые для конкретных каталогов пользователя.
Параметры, указанные в .htaccess, не затрагивают настройки главного конфигурационного файла Apache и имеют силу только для каталога, в котором этот файл размещен, и его подкаталогов. Для подкаталогов также можно создавать дополнительные .htaccess-файлы; при этом необходимо учитывать, что настройки .htaccess, заданные в подкаталоге, переопределят настройки, назначенные для него в файле .htaccess, размещенном на уровне выше.
С использованием локальных политик IP-безопасности (IPSec)
Использование для ограничения доступа в Интернет политики безопасности IP (IPSec) — способ нетривиальный. О существовании такой возможности знают очень немногие (в отличие от Hosts), и тот, для кого вы заблокируете некий веб-ресурс, ни за что не догадается, как вы это сделали.
С помощью IPSec можно блокировать как отдельный IP сайта, так и пул адресов. Единственный недостаток этого метода в том, что оснастка управления политиками есть не во всех редакциях Windows. Так, в домашних выпусках она отсутствует.
Создание политики IP-безопасности может показаться сложным, но только в первый раз. После нескольких попыток оно не будет отнимать у вас больше 2-3 минут. Тем более, что каждый шаг настройки сопровождает Мастер.
- Итак, для доступа к оснастке откройте в панели управления раздел «Администрирование», щелкните «Локальная политика безопасности» и выберите «Политики IP-безопасности на локальном ПК».
- Нажмите правой кнопкой мышки на пустую область правой половины окна «Локальных политик» и выберите «Создать политику ИП-безопасности». Запустится первый Мастер настройки.
В открывшемся далее окошке укажите имя новой политики и кратко опишите ее назначение. Можно оставить эти поля по умолчанию, но лучше заполнить, чтобы потом не запутаться.
Следом нажмите «Далее», ничего не меняя.
Завершите работу Мастера, отметив «Изменить свойства» и щелкнув «Готово».
В окошке свойств будущей политики IPSec кликните «Добавить». Это запустит следующий Мастер — создания правил IP-безопасности.
В окне «Конечная точка туннеля» оставьте всё как есть.
В разделе «Тип сети» выберите «Все подключения».
В «Списке IP-фильтров» (их только предстоит создать) кликните «Добавить». Следом — дайте вашему списку имя и снова нажмите «Добавить». Запустится третий Мастер — IP-фильтров.
Первым делом дайте новому фильтру описание (удобнее всего указать URL блокируемого сайта).
Источником трафика укажите «Мой IP адрес».
Назначением — «Определенный IP или подсеть». Ниже пропишите адрес блокируемого сайта или подсети.
В разделе «Тип протокола» отметьте «Любой».
Последним шагом нажмите «Изменить свойства» и «Готово». Осталось совсем немного.
Подтвердите параметры нового фильтра.
- Если хотите создать еще один, щелкните в следующем окне кнопку Добавить. Иначе — нажмите «ОК». Это запустит Мастер настройки действий фильтров.
- В «Списке ИП-фильтров» отметьте только что созданный и кликните «Далее».
- Дайте имя и описание тому, что он будет делать (блокировать сайт).
- В параметрах действия укажите «Блокировать».
- Завершающий шаг этапа — «Изменение свойств» и завершение работы мастера.
- Теперь снова проверьте и подтвердите настройку.
- Последний рывок — создать правила безопасности. Этим займется пятый Мастер.
- По окончанию его работы опять измените свойства и нажмите «Готово».
- Проверьте и подтвердите параметры нового правила.
- И напоследок — все свойства политики. Она создана и отображается в списке раздела.
- Осталось привести политику в действие. Кликните по ней правой кнопкой мышки и выберите «Назначить».
В разделе «Свойства» вы сможете в дальнейшем изменять любые параметры политики, а через контекстное меню — отключать, переименовывать и удалять.
Управление заблокированными IP-адресами и доменами с помощью IP Blocker cPanel
В разделе «Заблокированные в настоящее время IP-адреса» приводится список IP-адресов, которые заблокированы. Чтобы снять ограничения доступа, нажмите кнопку «Удалить» рядом с IP-адресом или диапазоном.
Пожалуйста, оставляйте свои отзывы по текущей теме материала. За комментарии, отклики, лайки, дизлайки, подписки огромное вам спасибо!
Пожалуйста, оставьте ваши мнения по текущей теме материала. За комментарии, лайки, подписки, дизлайки, отклики огромное вам спасибо!
Вадим Дворниковавтор-переводчик статьи «How to restrict access to your website with .htaccess and the cPanel IP Blocker»
Другие настройки (CGI, Python, Node.js)
Директивы SSI (Server Side Includes) по умолчанию обрабатываются в файлах с расширением .shtml (например, index.shtml). Чтобы SSI обрабатывались и в других файлах, необходимо в файле .htaccess указать типы этих файлов:
Вместо «.ssi .html» укажите расширения файлов, в которых должны обрабатываться директивы SSI. Использовать в одном и том же файле PHP и SSI одновременно не рекомендуется.
Чтобы CGI/Perl-скрипты выполнялись в браузере, необходимо создать файл .htaccess и добавить в него строки:
Вместо «.cgi .pl» укажите список расширений, которые должны обрабатываться веб-сервером. Убедитесь, что у вас есть права на исполнение этих скриптов (например, 755). А в переменных PERL5LIB и LD_LIBRARY_PATH, которые указывают веб-серверу, откуда подгружать модули Perl, вместо login вставьте свой логин.
Проектам на языке Python необходим файл .htaccess с таким содержанием:
Вместо site.wsgi укажите входной файл вашего приложения.
Чтобы обрабатывать скрипты Node.js, укажите в .htaccess следующие директивы:
Замените example.com на основное имя вашего сайта, а login на логин вашего аккаунта.
Если вы не нашли ответа на свой вопрос в этом разделе, то вы всегда можете обратиться к нам за помощью через форму обратной связи в разделе «Поддержка» Панели управления.
Дополнительные настройки в файле .htaccess
Защита сайта от «левых» параметров в запросах
Запись выше можно существенно сократить:
Либо глобально разрешаем только, например, три метода (GET, HEAD, POST) с заранее указанными символами в строке http-запроса, причем метод POST разрешается только для указанного REQUEST_URI:
Защита сайта от хотлинка с использованием модуля mod_setenvif
Запрещаем скачивание графических файлов на сайте по прямым ссылкам:
Защиту сайта от хотлинка можно установить иначе — здесь используется другой порядок обработки правил, который, на мой взгляд, не совсем логичен:
Учтите, при использовании данного способа защиты от хотлинка на указанные файлы не будут действовать другие запрещающие правила — например, блокировка по IP или User-Agent. Для избежания этого можно использовать модуль mod_rewrite, указывая в директиве RewriteCond значение установленной мной переменной Allow_Referer — по умолчанию оно равно 1.
А при таком порядке обработки правил, где убрано Allow from all, графика может не отображаться — даже на разрешенных сайтах:
Есть более красивое решение, использующее переменную окружения deny_hotlink, которая по умолчанию блокирует доступ к графическим файлам (через Deny from env=deny_hotlink). Если Referer разрешен, то переменная удаляется: !deny_hotlink.
Защита сайта от хотлинка с использованием модуля mod_rewrite
С использованием переменной Allow_Referer, установленной в модуле mod_setenvif для файлов с расширениями .gif, .jpg, .png — ее значение по умолчанию равно 1:
Данный вариант можно использовать в случае отсутствия модуля mod_setenvif, поскольку модуль mod_rewrite предназначен для решения других задач — так микроскопом забивают гвозди:
Обратите внимание на правильный формат записи RewriteCond %{HTTP_REFERER} !=»», в которой не используется регулярное выражение. Она означает: лексически не равно пустой строке
Возможен другой формат записи данного условия — RewriteCond %{HTTP_REFERER} !^$, которого следует избегать (в нем используется регулярное выражение, заменяемое простой строкой). Еще пример:
Решение задач по защите сайта не ограничивается описанными выше способами. Для этой цели можно использовать не только возможности файла .htaccess, но и php, что иногда бывает более удобно. Например, для проверки IP-адреса по маске подсети в массиве php. И помните, что с момента написания статьи сведения об IP-адресах стран СНГ могут оказаться устаревшими. Не копируйте бездумно указанные здесь правила, если ничего не смыслите в них. Лучше наймите за вменяемую плату специалиста, который грамотно настроет вам .htaccess.
Успехов вам в борьбе с Интернет-недоумками!
Запрещается републикация статьи без указания активной прямой ссылки на источник.За помощью в решении различных задач по программированию на языках PHP, JavaScript (включая jQuery) обращайтесь через раздел «Контакты».
Настройка производительности WordPress-сайта в .htaccess
В файле .htaccess в WordPress также можно указывать правила, повышающие производительности сайта.
Включение кэширования
Кэш браузера — это временное хранилище файлов просматриваемых сайтов, расположенное на жестком диске пользователя. Если кэширование на сайте включено, при повторном посещении онлайн-ресурса файлы загружаются не из сервера, а с кэша. Это увеличивает скорость загрузки сайта и улучшает пользовательский опыт. Для включения кэширования на сайте добавьте в .htaccess следующий код:
<IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 month" ExpiresByType text/css "access plus 1 year" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType image/x-icon "access plus 1 week" ExpiresByType text/x-component "access plus 1 month" ExpiresByType text/html "access plus 0 seconds" ExpiresByType application/javascript "access plus 1 year" ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" ExpiresByType text/cache-manifest "access plus 0 seconds" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType video/webm "access plus 1 month" ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/font-woff2 "access plus 1 month" ExpiresByType application/font-woff "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" ExpiresByType application/x-font-ttf "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" </IfModule>
Включение gzip-сжатия
Для его включения gzip-сжатия добавьте в .htaccess следующий код:
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0 no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent </IfModule>
Контроль и установка ограничений на хотлинкинг изображений
Хотлинкинг изображений — это размещение на сайте изображений, которые хранятся не на сервере этого сайта. Реализуется этот прием вставкой следующего кода в код веб-страницы:
<img src="https://example.com/image.jpg">
Хотлинкинг изображений может негативно отразиться на производительности вашего сайта, особенно если сервер имеет низкую пропускную способность. Чтобы предотвратить хотлинкинг изображений добавьте в .htaccess следующий код:
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com RewriteRule \.(jpg|jpeg|png|gif)$ -
Не забудьте заменить example.com на доменное имя вашего сайта.
Как видите, настройка .htaccess — это не такое уж и сложное дело, как могло казаться раньше. Внеся необходимые правила в этот файл, вы сумеете легко настроить редиректы, сделать сайт более безопасным и повысить его производительность без установки плагинов.
Количество просмотров:
752
На телефоне
Для телефона не так много способов заблокировать сайт, как для компьютера. Мы рассмотрим только рабочие приложения для этой задачи.
Приложение BlockSite
1. Устанавливаем приложение:
- Google Play (Android)
- App Store (iPhone)
2. При первом запуске приложение запросит предоставить доступ в специальных возможностях. Переходим в службу «BlockSite» и разрешаем доступ.
3. Повторно запускаем приложение и тапаем по значку + для создания нового правила.
4. Вводим список нежелательных адресов.
Далее при попытке войти на запрещенный ресурс он не загрузится – появится примерно такое сообщение:
Для Android
Безопасный браузер Kids Safe
1. Установите из Google Play приложение Safe Browser.
2. Создайте новый или авторизуйтесь имеющимся аккаунтом Google.
Браузер автоматически приступит к блокированию запрещенного контента.
3. Чтобы закрыть доступ к определенному сайт, зайдите в меню и откройте настройки.
4. Перейдите в раздел «Управление фильтрацией».
5. Выберите категорию «Черный список» и создайте список нежелательных адресов.
На заметку. Для дополнительной защиты можно загрузить из Google Play любое приложение для блокирования установленных программ. И при помощи него закрыть магазин Google и встроенный браузер, чтобы дети не смогли самостоятельно обойти ограничение.
Если есть рут права
Для настройки потребуется любой файловый менеджер с доступом к Root директории. Покажу на примере бесплатного Root #.
1. В главном меню переходим в раздел «Root».
2. Находим и открываем папку «etc».
3. Внутри папки нажимаем по файлу «hosts». На запрос выбора приложения для открытия тапаем по любому текстовому приложению.
4. Добавляем строку 127.0.0.1 адрес_сайта и сохраняем изменения.
Теперь браузер не сможет открыть этот адрес.
- https://compconfig.ru/internet/kak-zablokirovat-dostup-na-sajt.html
- https://naseti.com/o-routerah/zablokirovat-sajt.html
- https://neumeka.ru/block_site.html
C помощью брандмауэра Windows или стороннего файервола
Брандмауэр Windows может блокировать веб-сайты только по IP-адресам. Это не самый лучший способ, так как один IP иногда делят между собой несколько ресурсов, а большие порталы, такие как ВКонтакте и Одноклассники, занимают целые диапазоны адресов. Сторонние файерволы настраиваются более гибко — позволяют закрыть доступ даже к единственной странице. Для этого достаточно указать в программе ее URL, а не IP, что гораздо удобнее для пользователя.
Поскольку каждый файервол настраивается по-своему, а рассмотреть их все мы не можем, изучим принцип настройки универсального средства — брандмауэра Windows 10.
Для создания правила блокировки сначала определим IP сайта. Для этого удобно использовать команду ping_URL (например, «ping ya.ru») или whois-сервисы.
Далее пошагово:
Откроем брандмауэр. В левой панели выберем «Правила исходящих подключений», а в списке «Действия» — «Создать правило».
В следующем окне отметим «Все программы» (если сайт должен блокироваться во всех браузерах) или «Путь программы» (если в одном). При выборе второго варианта укажем путь к исполняемому файлу браузера.
Следующее окно пропустим. После него нам предстоит указать IP, подлежащий блокировке. Отметим в нижней части окна «Область» пункт «Указанные IP-адреса» и нажмем «Добавить». Верхнее поле не трогаем, так как оно предназначено для создания правил в локальных сетях.
Пропишем ИП-адрес или диапазон адресов веб-сайта и щелкнем ОК.
Далее выберем «Блокировать подключение».
Отметим сетевые профили, для которых собираемся использовать правило.
И последним шагом присвоим правилу имя.
После нажатия «Готово» правило вступит в действие.