Запрет доступа к сайту с домена или IP
Существует несколько способов запретить доступ к вашему сайту с определенного домена или с определенного IP.
Это может пригодится если вас одолели спамеры, или в случае если кто-либо злонамеренно пытается закликивать вашу рекламу Adsense и добиться тем самым бана вашего аккаунта или если с определенного сайта на ваш переходят по ссылке нежелательные вам посетители или запускаются какие-либо вредоносные скрипты или программы сканирующие ваш сайт и нарушающие его работу.
Как запретить доступ к сайту
Как закрыть доступ к сайту с определенного домена
Запрет доступа на PHP
Чтобы запретить доступ на сайт для посетителей переходящих по ссылкам с определенного домена и помощи PHP вам нужно открыть файл index.php который должен находиться в коренной директории вашего сайта и вставить в самое его начало следующую строку:
<?php
if( strpos( $_SERVER['HTTP_REFERER'], 'ПЛОХОЙ_ДОМЕН.com' ) !== FALSE){
print 'Вы перешли с ПЛОХОЙ_ДОМЕН.com - для вас сайт закрыт!';
exit();
}
?>
Выше приведенный php код предотвратит доступ к вашему сайту всем у кого в поле referer будет указан домен на который вы накладываете запрет и выведет этим посетителям пустую страницу с указанной в коде надписью. А следующий php код запретит доступ с определенного домена и перенаправит посетителей на указанный вами адрес (URL)
<?php
if( strpos( $_SERVER['HTTP_REFERER'], 'ПЛОХОЙ_ДОМЕН.com' ) !== FALSE){
header('Location: http://ВАШ_АДРЕС');
exit();
}
?>
Запрет доступа с определенного домена в htaccess
Для того, чтобы запретить посещение вашего сайта для тех кто переходит на него с определенного домена можно использовать и файл htaccess, который находится в корневой директории вашего сайта. Для добавление в него запрета открываем его для редактирования и добавляем следующие строки:
RewriteCond %{HTTP_REFERER} ^http://www\.ПЛОХОЙ_ДОМЕН\.(.*) [NC]
RewriteRule .* - [F]
И все, теперь всем тем кто переходит с домена который вы укажете вход на сайт будет запрещен и будет показываться страница FORBIDDEN. Другой вариант избавиться от нежелательных посетителей редиректить их куда подальше.
RewriteCond %{HTTP_REFERER} ^http://www\.ПЛОХОЙ_ДОМЕН\.(.*) [NC]
RewriteRule ^/$ http:///ВАШ_АДРЕС
Как закрыть доступ к сайту с определенного IP
PHP Запрет на доступ к сайту по IP
Чтобы запретить доступ к вашему сайту определенных пользователей по их IP адресу при помощи php, добавляем в самый верх index.php следующие строки:
<?php
if($_SERVER['REMOTE_ADDR'] == "xxx.xxx.xxx.xxx"){
echo "Спамерам Вход Запрещен!";
}
?>
Запрет на доступ определенных пользователей в htaccess
Для того, чтобы закрыть сайт для доступа определенному пользователю или группе пользователей, нужно открыть файл htaccess и добавить туда следующие строки:
Order Allow,Deny
Allow from All
Deny from xxx.xxx.xxx.xxx
Если же нужно запретить доступ нескольким пользователям, то их IP адреса записываем, через запятую:
Order Allow,Deny
Allow from All
Deny from xxx.xxx.xxx.xxx, yyy.yyy.yyy.yyy, zzz.zzz.zzz.zzz
Можно так-же закрыть доступ для диапазона IP, для этого в htaccess нужно указать лишь первые цифры их IP адреса:
Order Allow,Deny
Allow from All
Deny from xxx.xxx.xxx
В выше приведенном примере забанены будут все IP начиная с xxx.xxx.xxx.1 и кончая xxx.xxx.xxx.255. Можно так-же перенаправлять нежелательных визитеров при помощи следующих строк:
SetEnvIf REMOTE_ADDR xxx.xxx.xxx.xxx REDIR="redir"
RewriteCond %{REDIR} redir
RewriteRule ^/$ http:///ВАШ_АДРЕС