Заблокировать ip htaccess: Заблокировать спамера в htaccess по ip адресу – INFO-EFFECT – : Apache — httpd.conf — Log /

Содержание

Заблокировать спамера в htaccess по ip адресу – INFO-EFFECT

На чтение 2 мин. Опубликовано

Чтобы заблокировать спамера по ip адресу достаточно прописать специальный код в файле htaccess и бессовестный негодяй больше никогда не сможет попасть на ваш сайт. Для начала нужно узнать ip адрес спамера, для этого зайдите на страницу Комментариев, на вкладку Спам. Под именем комментатора указан его ip адрес, как раз его вам нужно скопировать. (На скриншоте показан пример ip-адреса нормального пользователя, не спамера, просто у меня спама нет на сайте, пришлось брать нормальный комментарий).

 

10-01-2016 22-54-09_mini

 

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

 

Order allow,deny
Allow from all
Deny from 123.557.77.33 – замените на ip-адрес спамера.

 

Сохраните файл.

 

08-01-2016 23-43-02

 

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

 

Order allow,deny
Allow from all
Deny from 123.557. – подсеть.

 

Order allow,deny
Allow from all
Deny from 123.557.77.33-123.660.90.10 – диапазон.

 

Конечно постоянно, вручную блокировать каждого спамера, это не вариант, запаритесь просто. Лучше просто поставить защиту в комментарии от спама и забыть про него раз и навсегда. Могу порекомендовать вам хороший плагин, простой и эффективный – Я не робот, защита от спама в комментариях, забудь про спам, раз и навсегда !

 

Admin's Notes: Блокировка IP в .htaccess

 

Блокирование одного IP-адреса с .htaccess

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

order allow,deny

deny from 1.23.45.67

allow from all

Не забудьте заменить 1.23.45.67 на IP-адрес, который вы хотите заблокировать.

Сначала устанавливаем директиву order для allow,deny. Затем указываем Apache, кому запрещать доступ (deny), после этого указываем, что всем остальным можно разрешать доступ (allow). На запросы, поступающие из запрещенных IP-адресов, будет дан ответ в виде HTTP заголовка 403 Access Denied.

Блокирование нескольких IP-адресов с .htaccess

Если есть несколько адресов, которые необходимо заблокировать, можно добавить строку для каждого адреса в .htaccess файле. Допустим, мы хотим заблокировать адреса 1.2.3.4 и 2.3.4.5, для этого нужно сделать следующее:

order allow,deny

deny from 1.2.3.4

deny from 2.3.4.5

allow from all

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

Блокирование диапазона IP-адресов с .htaccess

Если необходимо заблокировать диапазон адресов, можно сделать так:

order allow,deny

deny from 123.45.67.

allow from all

Обратите внимание, что в IP адресе нет последней цифры. При этом создается шаблон адресов. Теперь будут заблокированы все адреса от 123.45.67.0 до 123.45.67.255. Будьте аккуратны при установке шаблонов для блокирования, поскольку вы также можете блокировать обычных пользователей.

Блокирование клиентов по доменному имени с .htaccess

Чтобы блокировать клиентов, можно даже не использовать адреса, содержащие цифры. Вы можете указывать доменные имена и поддомены, чтобы блокировать пользователей. Если нужно заблокировать клиентов, чьи хосты заканчиваются на bad-isp-company.com, то можно сделать следующее:

order allow,deny

deny from bad-isp-company.com

allow from all

Это означает, что все потенциальные пользователи определенного Интернет провайдера будут заблокированы.

 

Примерчик

Order Deny,Allow
Deny from 94.242.219.
Deny from 64.250.116.
Deny from 37.59.164.

Защита сайта (блокировка IP адресов, дополнительные настройки в файле .htaccess) | IT портал

Защита сайта
Эта статья для тех web-мастера, которые не ленятся отслеживать логи посещений своих сайтов, задаются вопросом: «Как заблокировать доступ к сайту по IP адресам и отвадить надоедливых хакеров и ботов?» Собственно, проблема заключается не в том, каким способом запретить доступ к сайту. На помощь web-мастеру всегда придет конфигурационный файл .htaccess. Проблема в другом — в поиске списка диапазонов IP адресов, распределенных по географическому признаку. Большинство моих сайтов рассчитаны на русскоязычную аудиторию. Географически — для Украины, Беларуси, России. Поэтому однозначно можно заблокировать IP адреса стран Африки, Юго-Восточной Азии и Южной Америки.

Смотрите список IP адресов стран: здесь

Оптимальное решение для запрета доступа к сайтам по выбранным IP адресам — использовать в файле .htaccess директиву Deny. Важно правильно установить порядок обработки правил — Allow, Deny или Deny, Allow:
При Allow,Deny сначала обрабатываются разрешающие правила Allow, затем запрещающие Deny. Действия, не подпадающие ни под одну из директив Allow или Deny, будут запрещены по умолчанию — Deny имеет приоритет над Allow. Я рекомендую использовать для общего запрета данный порядок обработки правил — с Deny from all.

При Deny,Allow сначала обрабатываются запрещающие правила Deny, затем разрешающие Allow. Действия, не подпадающие ни под одну из директив Deny или Allow, будут разрешены по умолчанию — Allow имеет приоритет над Deny.Рекомендуем использовать данный порядок обработки правил при выборочном запрете.
Если перечислять все диапазоны IP адресов выбранных стран, список получается слишком длинным. Чтобы избежать этого, мы решили заблокировать блоки IP адресов, отличающихся первым октетом (ХХХ.0.0.0/8). Получился совсем небольшой список, охватывающий большинство диапазонов IP адресов: AfriNIC (Африка), APNIC (Юго-Восточная Азия) и LACNIC (Южная Америка и страны Карибского бассейна). Из списка мы исключили блоки IP адресов ARIN (Северная Америка) и RIPE (Ближний Восток, Европа и Центральная Азия). Список можете скачать ниже:
[download]

Блокировка IP адресов директивой Deny

Разрешаем только методы GET, HEAD, POST:


Order Allow,Deny
Deny from all

Запрещаем доступ к сайту для всех методов с IP адресов AfriNIC, APNIC, LACNIC:

Order Deny,Allow


# AfriNIC:
Deny from 41 102 105 197
# APNIC:
Deny from 1 14 27 36 39
Deny from 42.0.0.0/7
Deny from 49
Deny from 58.0.0.0/7
Deny from 60.0.0.0/7
Deny from 101 103 106
Deny from 110.0.0.0/7
Deny from 112.0.0.0/5
Deny from 120.0.0.0/6
Deny from 124.0.0.0/7
Deny from 126 133 175 180
Deny from 182.0.0.0/7
Deny from 202.0.0.0/7
Deny from 210.0.0.0/7
Deny from 218.0.0.0/7
Deny from 220.0.0.0/6
# LACNIC:
Deny from 177 179 181
Deny from 186.0.0.0/7
Deny from 189
Deny from 190.0.0.0/7
Deny from 200.0.0.0/7
# Networks:
Deny from 3 6 9 11 13 15
Deny from 16.0.0.0/6
Deny from 20.0.0.0/7
Deny from 22 25 26
Deny from 28.0.0.0/7
Deny from 30 33
Deny from 34.0.0.0/7
Deny from 38 40 44 47 48
Deny from 51
Deny from 52.0.0.0/6
Deny from 56.0.0.0/7
Deny from 214.0.0.0/7

Данным правилом мы запретили доступ к сайту для IP адресов стран Юго-Восточной Азии, Африки, Южной Америки и Карибского бассейна, а также некоторых корпораций. Обратите внимание, что в этом списке отсутствуют IP адреса из смешанных зон, которые можно найти на сайтах AfriNIC, APNIC, LACNIC и RIPE. Однако данные диапазоны отсекают основной объем паразитного трафика. IP адреса ARIN блокировать не рекомендуется, иначе роботы поисковых систем Bing, Google, Yahoo не смогут заходить на ваш сайт.

Здесь умышленно задан порядок обработки правил Deny,Allow, а не наоборот, чтобы иметь возможность добавить ниже разрешающие правила исключений для некоторых IP-адресов из заблокированных диапазонов. Однако имейте ввиду, что и другие запрещающие правила для этих IP-адресов, касающиеся, например, запрета на использование определенных символов в URL, могут не действовать — будут разрешены любые URL-запросы. Кстати, в случае использования порядка обработки правил Allow,Deny рекомендуется прописать в самом начале разрешающее правило для всех Allow from all, но это не самое удачное решение — лучше его не использовать, если вы собираетесь устанавливать выборочно запрещающие правила.

Примечание: для отображения сообщения об ошибке 403 (доступ запрещен) лучше использовать не собственную страницу, а короткое сообщение, уменьшая тем самым нагрузку на сервер. Например, можно послать хакеров или ботов по известному адресу:

ErrorDocument 403 "Fuck you!
Обратите внимание на то, что в строке прописана только одна кавычка (для Apache 1.3). Для Apache 2.0 необходимо обязательно ставить закрывающую кавычку.

Блокировка IP адресов модулем Mod Rewrite

Используя модуль mod_rewrite, список IP адресов можно существенно сократить. В этом помогут регулярные выражения. Главное удобство модуля mod_rewrite в данной задаче — возможность использования правил исключений.

Блокировка IP адресов стран Северной Америки модулем Mod Rewrite

Поставленная задача: необходимо заблокировать IP адреса ARIN (стран Северной Америки), оставив доступ к сайтам для поисковых ботов Bing, Google, Yahoo. При этом на хостинге размещены несколько сайтов, один из которых предназначен для американской аудитории.
Для этого в корневой директории своего хостинга размещаем файл .htaccess, в котором прописываем следующее правило:


# Включаем модуль mod_rewrite:
RewriteEngine on
# Для файла .htaccess, расположенного в корневой директории сайта
RewriteBase /
RewriteCond %{REMOTE_ADDR} ^(?:7|23|45|50|6[3-9]|7[1-6]|9[6-9]|1 (?:0[0478]|7[2-4]|84|99)|2 (?:0[4-9]|16))\...*$
RewriteCond %{HTTP_HOST} !^(?:www\.)?my_english_site\.com$ [NC]
RewriteCond %{HTTP_USER_AGENT} !bingbot [NC]
RewriteCond %{HTTP_USER_AGENT} !(?:Googlebot|gsa-crawler) [NC]
RewriteCond %{HTTP_USER_AGENT} !Slurp [NC]
RewriteRule ^.*$ — [F,L]

Данное правило модуля mod_rewrite блокирует IP адреса стран Северной Америки, если имя хоста не содержит my_english_site.com, и строка User Agent не содержит имена поисковых ботов Bing, Google, Yahoo. Правило действует на все сайты, размещенные на хостинге, за исключением домена my_english_site.com. Если нужно исключить все поддомены этого сайта, пишем:

RewriteCond %{HTTP_HOST} !^(?:.+\.)?my_english_site\.com$ [NC]

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


RewriteEngine on
RewriteOptions inherit
RewriteBase /путь_к_директории_с_файлом_.htaccess_от_корня_сайта/

Обязательно указывайте в RewriteBase путь к директории, в которой размещен файл .htaccess, от корня сайта. Все преобразования ссылок осуществляются относительно той директории, в которой расположен файл .htaccess. При этом унаследованные правила модуля mod_rewrite работают также относительно этой директории, то есть как бы копируются в новый файл. Если файл .htaccess расположен в директории /partners/web/access/, как данная статья, то:

RewriteBase /partners/web/access/

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

Блокировка всех IP адресов, кроме стран СНГ, Bing, Google, Yahoo

Правило, блокирующее доступ к сайту со всех IP адресов, за исключением стран СНГ (включая Балтию) и поисковых ботов Bing, Google, Yahoo:


RewriteEngine on
RewriteBase /
# Запретить все IP, кроме СНГ, Bing, Google, Yahoo:
RewriteCond %{REMOTE_ADDR} !^(?:2|3|5|3[17]|46|62|7[7-9]|8[0-9]|9[0-5]|1 (?:09|28|3[046]|4[1569]|5[189]|64|7[168]|8[58]|9[2-5])|21[237])\...*$
RewriteCond %{HTTP_USER_AGENT} !bingbot [NC]
RewriteCond %{HTTP_USER_AGENT} !Googlebot [NC]
RewriteCond %{HTTP_USER_AGENT} !Slurp [NC]
RewriteRule ^.*$ — [F,L]

В данное правило включены диапазоны IP адресов по первому октету, в которые входят IP адреса всех бывших республик СССР (включая Латвию, Литву и Эстонию). Данное правило не блокирует IP адреса других европейских стран, которые также входят в данный диапазон. Правило удобно применять для сайтов, ориентированных исключительно на аудиторию СНГ.

Защита сайта с помощь модуля mod_setenvif

Модуль mod_setenvif, позволяющий использовать регулярные выражения, представляет наиболее удобный способ защиты сайта.


# Устанавливаем переменную post, разрешающую метод POST для следующих URL:
SetEnvIf Request_URI ^URL_1$ post
SetEnvIf Request_URI ^URL_2$ post
# Разрешаем метод POST только для URL_1 и URL_2:

Order Deny,Allow
Deny from env=!post

# Блокировка ботов по User Agent:
SetEnvIfNoCase User-Agent «(?:Accoona|antabot|Ask Jeeves/Teoma|Baiduspider|Bigmir|China|curl/|Dolphin|Download|EltaIndexer|Email|FlashGet|GameSpy|Gigabot|grub|Gulper Web|ia_archiver|liveinternet|Meta|Mihalism|OmniExplorer|Pagebull|Scooter|Twiceler|Validator|WebAlta|Wget|WordPress).*$» bad
# Блокировка IP-адресов AfriNIC, APNIC, LACNIC:
SetEnvIf Remote_Addr ^(?:[346-9]|1[1-35-9]|2[0-25689]|3[02-58]|4[04578]|5[1-7]|21[45])\...*$ bad
# AfriNIC:
SetEnvIf Remote_Addr ^(?:41|102|105|197)\...*$ bad
# APNIC:
SetEnvIf Remote_Addr ^(?:1|14|27|3[69]|4[239]|5[89]|6[01]|1 (?:0[136]|1[0-9]|2[0-6]|33|75|8[023])|2 (?:0[23]|1[0189]|2[0-3]))\...*$ bad
# LACNIC:
SetEnvIf Remote_Addr ^(?:1 (?:7[79]|8[1679]|9[01])|20[01])\...*$ bad
# Запрет для бота Dolphin:
SetEnvIf Remote_Addr ^94\.127\.14[45]\...*$ bad
SetEnvIf Referer ^https?://(?:.+\.)?amazing\.ru/.*$ bad
SetEnvIf Remote_Addr ^213\.189\.197\.7$ bad
# Запрет языковых версий браузера — Arabic|Hindi|Turkish|Chinese:
SetEnvIfNoCase Accept-Language (?:ar|hi|tr|zh) bad
# Символы, разрешенные в URL, например:
SetEnvIf Request_URI [^-/\._0-9a-z] bad
# Ограничение длины URL:
SetEnvIf Request_URI ^.{242,}$ bad
# Маска для разрешенных URL — без учета параметров запроса, ограничить которые можно с помощью модуля mod_rewrite, например:
SetEnvIf Request_URI ^/(?:[-/_0-9a-z]{0,236}(?:/|\.[a-z]{2,4}|[0-9a-z]))?$ good

Order Deny,Allow
Deny from env=!good
Deny from env=bad


Order Deny,Allow
# Запрет всех IP-адресов компании, позиционирующей себя на рынке поискового продвижения сайтов:
Deny from 94.244.131.83

Дополнительные настройки в файле .htaccess

Защита сайта от «левых» параметров в запросах


# RewriteCond %{THE_REQUEST} \?[0-9A-Z] [NC,OR] (если не используете ссылки с параметрами, раскомментируйте строку)
RewriteCond %{THE_REQUEST} (?:\%[0-9A-Z]*|\&|\(|\)|\+|\[|\]|\) [NC,OR]
RewriteCond %{THE_REQUEST} (?:\|%3E) [NC,OR]
RewriteCond %{THE_REQUEST} _REQUEST (?:=|\[|\%[0-9A-Z]{0,2}) [NC,OR]
RewriteCond %{THE_REQUEST} base64_encode.*\(.*\) [NC,OR]
RewriteCond %{THE_REQUEST} DOCUMENT_ROOT= [NC,OR]
RewriteCond %{THE_REQUEST} GLOBALS (?:=|\[|\%[0-9A-Z]{0,2}) [NC,OR]
RewriteCond %{THE_REQUEST} javascript [NC,OR]
RewriteCond %{THE_REQUEST} mosConfig_[a-zA-Z_]{1,21}(?:=|\%3D) [NC]
RewriteRule ^.*$ — [F,L]

Запись выше можно существенно сократить:

RewriteCond %{QUERY_STRING} (?:\?.*\?|_REQUEST|base64_encode|GLOBALS|mosConfig_|script) [NC,OR]
RewriteCond %{THE_REQUEST} (?:\%[0-9A-Z]*|\&|\(|\)|\+|\[|\]|\)
RewriteRule ^.*$ — [F,L]

Либо глобально разрешаем только, например, три метода (GET, HEAD, POST) с заранее указанными символами в строке http-запроса, причем метод POST разрешается только для указанного REQUEST_URI:

RewriteCond %{THE_REQUEST} !^(?:GET|HEAD)\ /(?:[разрешенные_символы_REQUEST_URI]+(?:\?[разрешенные_символы_QUERY_STRING]+)?)?\ HTTP/1\.[01]$
RewriteCond %{THE_REQUEST} !^POST\ /разрешенный_для_метода_POST_REQUEST_URI\ HTTP/1\.[01]$
RewriteRule ^.*$ — [F,L]

Защита сайта от хотлинка с использованием модуля mod_setenvif

Запрещаем скачивание графических файлов на сайте по прямым ссылкам:


SetEnvIf Referer ^$ host
SetEnvIf Referer ^http://(?:.+\.)?my_site\.ru/.*$ host
SetEnvIf Referer ^https?://(?:.+\.)?(?:google|yandex)\.(?:com?\.)?[a-z]{2,3}/.*$ host
SetEnvIf Referer ^https?://(?:.+\.)?googleusercontent\.com/.*$ host

Order Deny,Allow
Deny from env=!host

Источник

Похожие материалы:

Как заблокировать доступ по IP адресу через файл .htaccess

Всем привет! Сегодня на SEO-Mayak.com в рамках рубрики «Заботимся о безопасности» я буду рассказывать, как заблокировать доступ по IP адресу через файл .htacces к админ-панели блога или к отдельным файлам.

Немного лирики. Миллионы людей создают свои блоги на основе бесплатной CMS WordPress, которая безусловно является самой популярной на сегодняшний день системой управления.

Постоянно появляющиеся новые плагины, платные и бесплатные шаблоны и конечно новые версии, делают движок еще более удобным и легко управляемым. Эта доступность и простота побуждает все большее количество веб-мастеров пользоваться именно CMS WordPress.

Но популярность всегда имеет и обратною сторону медали. Чуя «запах» легкой наживы над WordPress постоянно кружат стаи «черных» специалистов, которые не упустят возможность воспользоваться брешами в системе защиты движка и неопытностью, а иногда просто обыкновенной халатностью, администраторов блогов.

zapret dostupa po ip

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

Блокирование доступа по IP адресу является наиболее действенной мерой зашиты от взлома системы управления сайтом.

С помощью файла .htaccess можно управлять работой сервера, отдавая ему нужные «распоряжения».

Я уже писал в статье «Как сделать 301 редирект (перенаправление) через файл .htaccess» об одной из таких команд, но также, кроме перенаправления, можно разрешать, ограничивать или запрещать доступ, как к отдельным файлам, так и к целым каталогам (папкам).

Где лучше хранить пароли доступа и какие разделы блога следует защищать в первую очередь

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

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

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

zapret po ip

Использование одинаковых паролей, как для входа в различные социальные сети, так и для входа в админ панель блога и т.д. Всех способов вычисления паролей я конечно не знаю, так как я не занимаюсь этим «скользким» ремеслом.

Могу дать совет, чтобы постоянно не вписывать логины и пароли при входе на различные ресурсы, и тем более не хранить их в браузере, установите расширение LastPass.

Расширение LastPass для Google Chrome

Расширение LastPass для Mozilla Firefox

Расширение LastPass для Opera

Как пользоваться расширением Вы можете почитать на официальном сайте lastpass.com.

Использование расширения LastPass упрощает авторизацию на веб-ресурсах и надежно защищает Ваши данные доступа от хакеров

Также взломщик может получить доступ к вашим файлам через протокол FTP, но об это я расскажу уже как-нибудь в другой раз.

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

В первую очередь надо запретить доступ к каталогу wp-admin, который находится в корне вашего блога.

Также очень важным, с точки зрения безопасности, является файл wp-config.php, который тоже находится в корневой папке и его изменение напрямую влияет на базу данных.

Не надо далеко ходить, в прошлой статье «Как удалить, отключить, ограничить ревизии записей» мы с вами воздействовали на базу данных посредством небольших команд через файл wp-config.php.

Как заблокировать доступ по IP адресу к файлу wp-config.php через файл .htaccess

Что такое IP адрес? Если бы меня спросили об этом лет пять назад, то наверное я бы с трудом смог подобрать слова для ответа. Но теперь наверное даже многие бабушки скажут вам, что IP — это уникальный сетевой адрес определенного компьютерного узла.

Как узнать свой IP адрес? Большой сложности узнать свой IP не представляет, можно просто спросить у Яндекса, если конечно вы зарегистрированы в этой поисковой системе.

Начнем с того, что сделаем бекап. Как сделать резервную копию всех файлов расположенных на сервере, читайте в статье «FTP клиент Fileziia»

Теперь запретим доступ к файлу wp-config.php со всех IP адресов , кроме своего, чтобы никто извне не смог «нагадить» в нашу базу данных.

С помощью текстового редактора Notepad++ открываем для редактирования файл .htaccess, который должен находиться в корневой папке блога.

Обычно, после настройки ссылок ЧПУ, файл .htaccess выглядит так:


# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

После строчки # END WordPress вставляем следующее:


# Запрет доступа по IP адресу к файлу wp-config.php

<Files wp-config.php>
Order Deny,Allow
Deny from all
Allow from Ваш IP адрес
</Files>

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

Order — Директива означающая «порядок». Является управляющей директивой для директив Deny и Allow.

Deny — Запрещающая доступ к документам директива. Распространяется на всех или на определенных пользователей.

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

Пока не понятно, но дальше постепенно все должно прояснится.

Deny,Allow — запрещаем доступ всем, кроме определенных пользователей.

Allow,Deny — разрешаем доступ всем, кроме определенных пользователей.

Значит с первой строчкой <Files wp-config.php> должно быть все ясно, здесь мы просто указываем имя файла к которому хотим ограничить доступ.

Общее значение второй строчки Order Deny,Allow постараюсь объяснить своими словами: Order — порядок действий такой, Deny — сначала запрещаем, Allow — потом разрешаем.

Deny from all — запрещаем доступ к файлу всем пользователям.

Allow from Ваш IP адрес — но разрешаем доступ пользователю с определенным IP адресом

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


# Запрет доступа по IP адресу к файлу wp-config.php

<Files wp-config.php>
Order Deny,Allow
Deny from all
Allow from Ваш IP адрес
Allow from другой IP адрес
Allow form еще один IP адрес
</Files>

Как проверить, действует ли запрет?

Изменяем одну цифирку в своем IP адресе и в адресной строке браузера указываем путь к файлу:

http://site.com/wp-config.php


и браузер должен нам выдать следующее:

zapret po ip

Что означает — «У вас нет разрешения на доступ / WP-config.php на этом сервере». Незабываем обратно поменять цифирку в своем IP адресе.

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

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

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

Во-первых, созданный файл .htaccess необходимо сохранять в кодировке UTF-8 без BOM.

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

Не перестану советовать, при создании новых файлов, пользоваться текстовым редактором Notepad++

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


Order Deny,Allow
Deny from all
Allow from Ваш IP адрес

Незабываем изменить кодировку файла на UTF-8 без BOM:

zapret po ip

И сохранить файл в каталог wp-admin:

zapret po ip6

Я уже не буду объяснять значения директив, а просто предложу опять для проверки изменить одну цифру в Вашем IP адресе и попробовать войти в админ-панель. В результате браузер покажет туже страницу, что и при проверке доступа к файлу wp-config.php.

Обращаю Ваше внимание на то, что надо обязательно проверить статический у вас IP или динамический. Динамические IP могут меняться с разной периодичностью и прописывать в .htaccess динамический IP не имеет смысла.

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

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

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

До встречи!

С уважением, Виталий Кириллов

шпаргалка.ру - Уроки по созданию сайтов с нуля. Создание сайтов под заказ

Ежедневно десятки тысяч пользователей бескрайней сети интернет задаются вопросом: как создать сайт? Многие считают, что это очень сложно и новичку с этой задачей самостоятельно справиться попросту нереально. Но это глубокое заблуждение, так как на самом деле все очень просто.

Для того чтобы быстро и легко, а главное бесплатно сделать собственный сайт, достаточно воспользоваться одним из многочисленных бесплатных сервисов по конструированию и хостингу сайтов. Это может быть, например Яндекс или uCoz. Воспользовавшись данными сервисами, любой пользователь сможет с легкостью создать свой сайт самостоятельно. Но бесплатный сыр, как известно, бывает только в мышеловке. Если вы воспользуетесь бесплатных сервисов по конструированию сайтов, то будьте готовы к тому, что вскоре на вашем сайте появится чужая реклама, а снять ее можно будет только за деньги.

Чтобы самому создавать сайты абсолютно не нужно обладать какими-то особыми знаниями. Но если необходимо более эстетичное и индивидуальное оформление, то необходимо изучить основы HTML и CSS. Это необходимо для того, чтобы вручную редактировать код страниц, так как бесплатные сервисы предлагают ограниченный функционал для создания индивидуального дизайна. Если вам необходимо создать динамический сайт (интернет магазин, форум) то для этого достаточно изучить основы php и JavaScript.

На сайте «web-shpargalka» вы найдете полезные программы, которые облегчат работу при разработке проектов также в разделе «Как сделать…?» подробно описывается, как сделать корзину покупателя для интернет магазина, форму регистрации, форму авторизации, установка видео и аудио плееров, и другие готовые примеры которые могут пригодиться для вашего web-проекта.

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

Cайт-визитка за один день!!!

Повторяя за мной все действия, вы 100% создадите собственный сайт визитку за 1 день (с нуля, не используя чужих движков)! Но я убежден, что если вы добавите немного креатива, то у вас всё получиться гораздо лучше!!!   Подробнее…

Анализатор текста!

Подсчёт символов и ключевых слов, а также перевод текста из кириллицы в латиницу, и кое-что еще…!   Подробнее…

Генератор случайных чисел для игры в гос-лото!

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

Интуит-тестер (тренажер)

С помощью этого тренажера, вы можете проверить свою интуицию, и в случае если результат вас не устроит, то можно сразу-же приступить к ее тренировке 🙂   Подробнее…

Блокировка по ip htaccess

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

Ограничение доступа к сайту с помощью файла .htaccess

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

Файл .htaccess создается на сервере автоматически, когда вы устанавливаете WordPress, Drupal и Magento. Его также можно создать в текстовом редакторе и загрузить на сервер. А также с помощью файлового менеджера cPanel .

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

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

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

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

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

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

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

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

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

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

Запретить доступ ко всем файлам и папкам с помощью .htaccess

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

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

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

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

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

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

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

Запретить доступ с определенных IP-адресов с помощью .htaccess

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

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

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

Запретить доступ с определенных доменов через .htaccess

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

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

Ограничить доступ к сайту с помощью IP Blocker cPanel

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

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

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

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

Снять ограничения доступа в файле .htaccess

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

Запретить доступ с IP-адресов через IP-блокиратор cPanel

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 Blocker cPanel

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

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

Управление заблокированными IP-адресами и доменами с помощью IP Blocker cPanel

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

Данная публикация представляет собой перевод статьи « How to restrict access to your website with .htaccess and the cPanel IP Blocker » , подготовленной дружной командой проекта Интернет-технологии.ру

Как в .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.

Забанить спамера по IP диапазону

Это был пример того, как забанить IP (192.168.1.1) спамера, не закрывая доступа всем остальным. Ещё можно пропустить последний октет IP-адреса, Deny from 192.168.1 , тогда будут забанены все пропущенные IP адреса. Однако, вы же понимаете, статичный IP блокировать глупо, он, скорее всего, динамический, поэтому мы берём IP и отправляемся определять подсеть с диапазоном IP, откуда он пришёл. Для этого воспользуемся любым Whois-сервисом, например, этим, ищем строку CIDR или, если её нет, NetRange

Определяем подсеть IP

Нам повезло, CIDR (Classless Inter-Domain Routing, Бесклассовая адресация) присутствует, а именно в таком формате лучше всего записывать диапазон IP в htaccess

Если CIDR отстуствует, рекомендую воспользоваться калькулятором IP-диапазона в CIDR и данными из NetRange, чтобы получить CIDR.

Конвертируем диапазон IP в CIDR

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

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

Где 192.168.0.0/16 — ваш IP или подсеть

Вот, скажем, вариант для WordPress. Файл .htaccess создаётся в /wp-admin/

Обратите внимание, тут используется конструкция Files "admin-ajax.php" . Она необходима для того, чтобы проходили ajax запросы.

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

Вот пример, как можно защитить админку WordPress от посягательств хакеров. Здесь используется конструкция FilesMatch "регулярное выражение"

Здравствуйте. Если вас интересует, как заблокировать доступ по 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.

Забанить спамера по IP диапазону

Это был пример того, как забанить IP (192.168.1.1) спамера, не закрывая доступа всем остальным. Ещё можно пропустить последний октет IP-адреса, Deny from 192.168.1 , тогда будут забанены все пропущенные IP адреса. Однако, вы же понимаете, статичный IP блокировать глупо, он, скорее всего, динамический, поэтому мы берём IP и отправляемся определять подсеть с диапазоном IP, откуда он пришёл. Для этого воспользуемся любым Whois-сервисом, например, этим, ищем строку CIDR или, если её нет, NetRange

Определяем подсеть IP

Нам повезло, CIDR (Classless Inter-Domain Routing, Бесклассовая адресация) присутствует, а именно в таком формате лучше всего записывать диапазон IP в htaccess

Если CIDR отстуствует, рекомендую воспользоваться калькулятором IP-диапазона в CIDR и данными из NetRange, чтобы получить CIDR.

Настройка htaccess

17 правил .htaccess, которые должен знать любой веб-мастер

17 правил .htaccess, которые должен знать любой веб-мастер

 

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

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

Установка запрета на загрузку файлов с других ресурсов

Некоторые пользователи могут загрузить определённый файл на ваш ресурс (изображения, видео), после чего разместив его на своём. Таким образом, все запросы к файлу будут идти через ваш сервер, нагружая его.

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

Options +FollowSymlinks
#Запрещаем загрузку файлов с внешних сайтов
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www.)?site.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ https://site.com/stop.gif[nc]
 

 

Используя любую команду, необходимо заменять адрес сайта (site.com) на свой.

Блокировка нежелательных User Agents

Иногда на сайте могут появиться переходы различных ботов, спамеров, других сервисов и т. д. В маленьком количестве они не принесут большого вреда, но когда таких переходов много, может появиться немаленькая нагрузка на сервер. Если сразу заблокировать нежелательные User Agents, то можно огородиться от таких посещений.

В интернете можно найти полный список всех User Agents, которые являются потенциально опасными.

#Блокируем плохих ботов и роботов
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]
<limit get="" post="" head="">
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</limit>

Блокировка IP-адресов

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

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

#Запрещаем доступ для всех, кроме указанных IP-адресов
ErrorDocument 403 https://www.domainname.com
Order deny,allow
Deny from all
Allow from 124.34.48.165
Allow from 102.54.68.123

301 Редирект

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

  • com – это доменное имя.
  • /file.html – это страница (директория).
#Настраиваем SEO-Friendly 301 Redirect
Redirect 301 /1/file.html https://www.site.com/2/file.html

Редактирование страницы ошибки 404

Если появилось желание сделать сайт ещё красочней, то можно отредактировать страницу ошибки 404. В стандартном варианте пользователю просто указывается, что данной страницы не существует. Мы же можем добавить какое-нибудь изображение, изменить текст и т. д.

Для начала нужно создать эту страницу и залить на хостинг. В .htaccess остаётся прописать адрес до файла.

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php

Чёрный список IP-адресов

Если на сайте появился злостный спамер или агрессивный комментатор, то можно занести его IP в чёрный список. Больше с этого адреса на ресурс он зайти не сможет. Если сайт работает на CMS, то узнать IP можно в админке. Там часто ведутся логи.

#Создаем черный список IP адресов
allow from all
deny from 145.186.14.122
deny from 124.15.

Блокировка доступа к определённому файлу

Если вы не хотите, чтобы кто-то могут увидеть содержание файлов на хостинге, то доступ к ним можно заблокировать. Без блокировки, любой пользователь при желании сможет узнать, что, например, у вас прописано в .htaccess или robots.txt.

#Защищаем .htaccess файл
<files .htaccess="">
order allow,deny
deny from all
</files>

Установка пароля на доступ к файлам

Также файлы можно не блокировать полностью, а создать доступ по паролю. Чтобы установить пароль нужно создать файл .htpasswd. Там в формате user:password он и должен хранится. Но пароль нужно зашифровать, чтобы никто не получил к нему доступ. В интернете есть несколько сервисов для автоматической шифровки.

#защита паролем файла
<files secure.php="">
AuthType Basic
AuthName «Prompt»
AuthUserFile /pub/home/.htpasswd
Require valid-user
</files>
#защита паролем папки
resides
AuthType basic
AuthName «This directory is protected»
AuthUserFile /pub/home/.htpasswd
AuthGroupFile /dev/null
Require valid-user

Перенос сайта на новый домен

301 редирект сделан для переадресации с одной страницы на другую, но вот если придётся перенести сайт на новый домен, то тут лучше воспользоваться нижеприведённой командой.

#Перенаправляем со старого домена old.com  — на новый
RewriteEngine On
RewriteRule ^(.*)$ https://www.new.com/$1 [R=301,L]

Кэширование

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

#Усиливаем кеширование
FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch ".(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault «access plus 1 year»
</filesmatch>
</ifmodule>

Включение сжатия

Включённое сжатие также позволит ускорить загрузку. Сначала сервер попытается сжать все данные, и только после этого отправит их пользователю. Для улучшения результата можно включить компрессию (строка addOutputFilterByType), но тогда процессор сервера будет сильно нагружен. Так что при обычном тарифе на хостинге эту строчку лучше удалить.

#Сжимаем компоненты сайта путем включения Gzip
AddOutputFilterByType DEFLATE text/html text/plain ..
.. text/xml application/xml application/xhtml+xml ..
.. text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

Запрет на доступ к папкам

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

#Запрещаем просмотр содержимого папки
Options All —Indexes

Блокировка комментирование записей без Referrer

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

#Запрещаем комментарии от пользователей без Referrer
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .comment\/reply\/*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^https://%{REMOTE_ADDR}/$ [R=301,L]

Дополнительная защита

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

#Включаем отслеживание сим-ссылок
Options +FollowSymLinks
#Запускаем url_rewriting
RewriteEngine On
#Блокируем все ссылки, содержащие <script>
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
#Блокируем все скрипты, которые пытаются изменить переменные PHP Globals:
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#Блокируем все скрипты, которые пытаются изменить переменную _REQUEST:
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
#Перенаправляем все подобные на страницу с ошибкой 403 — запрещено
RewriteRule ^(.*)$ index.php [F,L]

Перенаправление пользователя с помощью директивы RedirectMatch

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

RedirectMatch [status] regexp URL

Здесь имееются несколько статусов:

  1. 301 – постоянный редирект (permanent).
  2. 302 – временный. (temp).
  3. 303 – на наиболее популярную или полезную страницу (seeother).
  4. 410 – редиректа нет, так как она удалён (gone).

Защита от прямых ссылок

Некоторые ресурсы пытаются экономить место на своём хостинге, и используют изображения, которые были загружены на другие ресурсы. Чтобы пользователи не использовали прямые ссылки с нашего сайта в качестве хостинга для изображений, стоит поставить защиту. После этого, открыв прямую ссылку, все другие посетители получат ошибку 403.

# Запретить другим сайтам использовать прямые ссылки на ваши картинки
RewriteCond %{HTTP_REFERER} !^$
# Дальше список разрешенных доменов
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?sitename.ru.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?sitename.ru:80.*$ [NC]
# IP сайта (домена)
RewriteCond %{HTTP_REFERER} !^http(s)?://111.111.111.111.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://111.111.111.111:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yandex.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google. [NC]
# RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?домен_дружественного сайта.ru [NC]
RewriteCond %{HTTP_REFERER} !search?q=cache [NC]
# Форматы файлов, для которых устанавливается защита
# Выводит ошибку 403
# RewriteRule \.(jpe?g|bmp|gif|png|css|mov|swf|dcr|exe|rar|avi|vob|zip|pdf|txt|doc|flv|mp3|mp4)$ — [NC,F,L]
# или показывает спецрисунок вместо указанного
RewriteRule .*\.(jpe?g|bmp|gif|png)$ files/images/nohotlink.jpg [NC,L]

Защита от хотлинка с ImageCache

Но если использовать ImageCache, то вышеприведённый вариант работать не будет. Для того, чтобы это исправить, достаточно добавить ещё один код.

SetEnvIfNoCase Referer «^$» local_ref=1
# Allowed domains
# Далее разрешенные домены
SetEnvIfNoCase Referer «^https://(www\.)?domain\.ru» local_ref=1
SetEnvIfNoCase Referer «^https://(www\.)?domain\.com» local_ref=1
# File extensions that you want to protect
# Расширения файлов, которые нужно защитить
<FilesMatch "\.(bmp|jpe?g|gif|png)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>

Запрещаем доступ в админ-панель с других ip адресов

Создайте файл .htaccess в папке admin и запишите в него этот код где xxx.xxx.xxx.xxx это ваш ip адрес. Если у вас динамический ip указываем только ххх.ххх.

<Files "index.php">
order deny,allow
   Deny from all
Allow from xxx.xxx.xxx.xxx
</files>

Заключение

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

 

скачать dle 12.0

Нашли ошибку? Выделите текст и нажмите CTRL+ENTER

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

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