Заблокировать спамера в htaccess по ip ! — ТОП

Содержание

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

Блокировка IP-адресов с помощью .htaccess

Этот скрипт автоматически генерирует директивы .htaccess — служебного файла децентрализованного управления веб-сервером Apache которые блокируют доступ к вашему сайту с введенных Вами в поле ниже IP-адресов.

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

Шаблон ип-адреса следующий: 1.1.1.1 или 255.255.255.255 и их цифровые комбинации.

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

Введите IP-адресы которые Вы хотите заблокировать.

Один IP — адрес в 1 строку — каждый ип-адрес отделен Enter-ом.

>В начале рассмотрим директиву Order файла .htaccess Apache сервера

Описание: Устатавливает порядок работы директив Deny и Allow

Order — в переводе порядок. Порядок может принимать значения [Deny , Allow] или [Allow , Deny].

Синтаксис — состояние по умолчанию:

>Директива Deny — в переводе запрет

Описание: Запрещает доступ определенных клиентов к ресурсам.

Заблокировать IP через .htaccess

Синтаксис:

host может принимать значения IP адреса или имени хоста.

>Директива Allow — в переводе разрешить

Описание: Разрешает доступ определенных клиентов к ресурсам.

Синтаксис:

host может принимать значения IP адреса или имени хоста.


Пример: .htaccess запрет на доступ для всех

Order Deny,Allow

Deny from all

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

При попытки зайти в такой каталог мы получим от веб сервера код ошибки — 403 — «Forbidden — Доступ запрещен».


Пример: .htaccess _ разрешение _ на доступ для определенного IP адреса и хоста.

Order Deny,Allow

# запрет для всех на доступ к ресурсу

Deny from all

# разрешаем только следующим

Allow from local.

Allow from 100.99.99.1, 100.99.99.2


Пример: .htaccess _ запрет _ на доступ для пределенного IP адреса и хоста.

Order Allow,Deny

#разрешаем заходить на сервер всем

Allow from all

Deny from local.

Deny from 100.99.99.1, 100.99.99.2

Если нужно запретить всей сети 100.99.99.1 — 100.99.99.255 то ставим комбинацию первых лем: 100.99.99


>Директива Files файла .htaccess сервера Apache

Пример: запрет на доступ для определенного файла . В примере запрещается доступ к файлу с паролями .htpasswd для всех посетителей кроме 100.99.99.1 и 2

<Files ".htpasswd">

Order Deny,Allow

Deny from all

Allow from 100.99.99.1, 100.99.99.2

</Files>

В данном примере мы запретим пользователям с айпи-адресами (IP) 100.99.99.1, 100.99.99.2 заходить на ресурс используя метод GET для передачи данных браузером — .htaccess ip:

<Limit GET>

Order Allow,Deny

Deny from 100.99.99.1, 100.99.99.2

Allow from All

</Limit>

Мы запретили пользователю с IP адресом 100.99.99.1 смотреть сайт. Если вместо 100.99.99.1 написать 100.99.99, то доступ будет запрещен для всей сети класса C.

Еще один пример .htaccess: запрет на доступ для определенной группы файлов. В примере запрещается доступ к файлам с расширениями "lib" и "pm" для всех посетителей кроме 100.99.99.1

<FilesMatch "\.(lib|pm)$">

# или например : <FilesMatch "\.(gif|jpe?g|png)$">

Order Deny,Allow

Deny from all

Allow from 100.99.99.1

</FilesMatch>

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

главная / web / статьи / файл .htaccess / часть 3

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

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

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

deny from all

Запретить доступ только с конкретного ip-адреса:

deny from all
order allow deny
deny from all
deny from ip_адрес_пользователя

«ip_адрес_пользователя» необходимо заменить на конкретный ip-адрес.

Чтобы разрешить доступ только с конкретного ip-адреса, можно написать:

order allow deny
deny from all
allow from ip_адрес_пользователя

Так же с помощью файла .htaccess можно запретить доступ к конкретному файлу. Например, запретим доступ пользователей к самому файлу .htaccess. При этом сервер сможет использовать инструкции, указанные в файле:

&lt Files .htaccess &gt
order allow,deny
deny from all

Защита файлов

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

Заблокировать спамера в htaccess по ip !

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

Защитить файлы от хотлинка при помощи файла .htaccess можно добавив в него две строчки:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?ваш_сайт.ru.*$ [NC]
RewriteRule \.(jpe?g|bmp|gif|png|css|zip|pdf|txt|doc)$ — [NC,F,L]

В скобочках через символ «|» указаны расширения файлов, доступ к которым будет запрещен всем, за исключением сервера и пользователей сайта ваш_сайт.ru

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

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?ваш_сайт.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yandex.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yahoo. [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google. [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?bing. [NC]
RewriteRule \.(jpe?g|bmp|gif|png|css|zip|pdf|txt|doc)$ — [NC,F,L]

Защита паролем

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

AuthName «What do you want?«
AuthType Basic
AuthUserFile /home/сервер/ваш_сайт.ru/pass/.htpasswd
require valid-user

Файл .htaccess, содержащий эти строки необходимо поместить в директорию, доступ к которой мы хотим закрыть. При попытке пользователя зайти на соответствующий раздел сайта сервер отдаст код статуса 401 (требуется авторизация) и выведет окно с полями для ввода имени пользователя и пароля и сообщением «What do you want?», указанным в директиве «AuthName» (допускаются только латинские символы и цифры).

Имена пользователей и пароли хранятся в файле .htpasswd. Путь к этому файлу задается в директиве «AuthUserFile».

Важно: путь к файлу .htpasswd указывается абсолютный, от корневого каталога сервера.

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

&lt ?php echo $_SERVER[‘DOCUMENT_ROOT’]; ? &gt

Закачать этот файл на сервер туда же, где находится .htpasswd, и открыть его в браузере. В сгенерированной странице Вы увидите абсолютный путь к директории, указанный от корневого каталога сервера.

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

&lt Files file.txt &gt
AuthName «It’s not for all»
AuthType Basic
AuthUserFile /home/сервер/ваш_сайт.ru/pass/.htpasswd

Пароль на группу файлов:

&lt Files «\.(sql)$» &gt
AuthName » It’s not for all «
AuthType Basic
AuthUserFile /home/сервер/ваш_сайт.ru/pass/.htpasswd

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

<<предыдущая статья | к списку статей>>

27 марта, 2013, обновлено 13 апреля, 2016

htaccess

Ограничение доступа средствами htaccess

Доступ на просмотр/запуск без пароля

Описание директив

  • — отказать (запретить);
  • — позволять (разрешить);
  • — порядок (порядок директив);
  • — применить группу директив к файлу/-ам;
  • — знак включает регулярные выражения.

Примеры

Запретить просмотр/запуск всего в папке и подпапках:

deny from all

Закрыть доступ определенному IP:

order allow deny allow from all deny from 000.000.000.000

Открыть досутп только определенному IP:

order deny allow deny from all allow from 000.000.000.000

Закрыть доступ только к файлу access.json:

<Files access.json> deny from all </Files>

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

<Files ~ "one.file|file.next"> deny from all </Files>

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

<Files ~ "\.(json|php)$"> deny from all </Files>

Доступ на просмотр/запуск c паролем

Создаем .htaccess

В папке, к которой хотим ограничить доступ, создаем файл .htaccess:

AuthType Basic AuthName ‘Authorization…’ AuthUserFile /home/mysite.ru/public/.htpasswd Require valid-user

Обратите внимание на путь . Это путь к файлу с паролями от корня сервера (). Если вы его не знаете (не помните) — выполните PHP скрипт phpinfo() и ищите там DOCUMENT_ROOT. Ну или echo $_SERVER[‘DOCUMENT_ROOT’];

Создаем .htpasswd

Пароль в этом файле зашифрован (по слухам) с помощью md5. Я сразу кинулся в PHP к функции , и круто обломался. Видимо все там по-другому.

Фильтр по IP адресам через .htaccess

Так что содержимое этого файла нужно сгенерировать другими средствами:

Способ раз

Файл с паролями (.htpasswd) будем хранить в корне сайта. Его содержимое формируется утилитой, входящей в поставку Apache — htpasswd. Она обычно находится в каталоге bin (/usr/local/bin/htpasswd), ага. Коннектимся по SSH, ls, cd, ls, cd,… И выполняем команду:

htpasswd -mbc .htpasswd login1 myfavoritepassword123

Чтобы добавить в уже существующий файл нового пользователя:

Способ два

https://www.google.ru/search?q=htpasswd+generator.

Способ три

Скачать apache/установить или отдельно скачать утилиту htpasswd (тоже можно найти) и (если вы под виндой) выполнить через cmd следующую команду:

htpasswd.exe -mc .htpasswd user1

И для добавление в уже существующий:


.

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

  1. SEO Блог
  2. Создание сайта

2012-02-01

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

Как запретить доступ к сайту

Как закрыть доступ к сайту с определенного домена

Запрет доступа на PHP

Чтобы запретить доступ на сайт для посетителей переходящих по ссылкам с определенного домена и помощи PHP вам нужно открыть файл index.php который должен находиться в коренной директории вашего сайта и вставить в самое его начало следующую строку:

Выше приведенный php код предотвратит доступ к вашему сайту всем у кого в поле referer будет указан домен на который вы накладываете запрет и выведет этим посетителям пустую страницу с указанной в коде надписью.

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

А следующий php код запретит доступ с определенного домена и перенаправит посетителей на указанный вами адрес (URL)

Запрет доступа с определенного домена в htaccess

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

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

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

PHP Запрет на доступ к сайту по IP

Чтобы запретить доступ к вашему сайту определенных пользователей по их IP адресу при помощи php, добавляем в самый верх index.php следующие строки:

Запрет на доступ определенных пользователей в htaccess

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

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

Можно так-же закрыть доступ для диапазона IP, для этого в htaccess нужно указать лишь первые цифры их IP адреса:

В выше приведенном примере забанены будут все IP начиная с xxx.xxx.xxx.1 и кончая xxx.xxx.xxx.255. Можно так-же перенаправлять нежелательных визитеров при помощи следующих строк:

Еще более детальный вариант запретить спамерам доступ на сайт при помощи htacess вы можете создать сами.

Читайте также: доступзащитаспамphphtaccess

Комментарии к статье

← Предыдущая статьяСледующая статья →

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

Закрыть меню