Есть любители стащить новости и статьи с сайта, вот подумал почему бы не закрыть доступ к сайту для них. Знаю их ip, как можно это сделать и посредством чего?
if($_SERVER['REMOTE_ADDR'] == "xxx.xxx.xxx.xxx"){ echo "Сайт удален хостером за нарушение правил"; } думаю, когда он увидет это, то подумает, что все, лавочка прикрыта и забудет адрес сайта вообще или так: if($_SERVER['REMOTE_ADDR'] == "xxx.xxx.xxx.xxx"){ echo "Пшел б***ь на*** п**** злое*****"; }
if($_SERVER['REMOTE_ADDR'] == "xxx.xxx.xxx.xxx"){ echo "Сайт удален хостером за нарушение правил"; } думаю, когда он увидет это, то подумает, что все, лавочка прикрыта и забудет адрес сайта вообще или так: if($_SERVER['REMOTE_ADDR'] == "xxx.xxx.xxx.xxx"){ echo "Пшел б***ь на*** п**** злое*****"; }
Советую, все-таки, проверять IP пользователя хотя бы таким способом:
PHP код:
if (@$_SERVER['HTTP_CLIENT_IP'])
$user_ip = $_SERVER['HTTP_CLIENT_IP'] ;
else if (@$_SERVER['HTTP_X_FORWARDED_FOR'] AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)){
foreach($matches[0] AS $ip){
if(!preg_match("#^(10|172\.16|192\.168)\.#", $ip)){
$user_ip = $ip ;
break;
}
}
} else if (@$_SERVER['HTTP_FROM'])
$user_ip = $_SERVER['HTTP_FROM'] ;
else
$user_ip = $_SERVER['REMOTE_ADDR'] ;
if($_SERVER['REMOTE_ADDR'] == "xxx.xxx.xxx.xxx"){ echo "Сайт удален хостером за нарушение правил"; } думаю, когда он увидет это, то подумает, что все, лавочка прикрыта и забудет адрес сайта вообще или так: if($_SERVER['REMOTE_ADDR'] == "xxx.xxx.xxx.xxx"){ echo "Пшел б***ь на*** п**** злое*****"; }
Жесть хороший способ! Я помню когда-то на Юкозе тоже была блокировка по IP, но я тогда не знал как это, потому что было тогда мне лет 14-15
Если юзаешь хостинг с cPanel, то там уже есть эта фича:
Диспетчер запрещенных IP-адресовЭта функция дает возможность блокировать диапазон IP-адресов, отказывая этим компьютерам в доступе к вашему сайту. Также можно ввести полное доменное имя (FQDN), а диспетчер запрещенных IP-адресов попытается разрешить их в IP-адреса.
прописывать маршруты (с ключом, ежели не ошибаюсь, /p -- чтобы сохранялось после перезагрузки), отправляя такие IP на несуществующий шлюз -- а можно попробовать воспользоваться родительским контролем в настройках IE (но второе не пойдёт при использовании альтернативных бродилок).
Советую, все-таки, проверять IP пользователя хотя бы таким способом:
PHP код:
if (@$_SERVER['HTTP_CLIENT_IP'])
$user_ip = $_SERVER['HTTP_CLIENT_IP'] ;
else if (@$_SERVER['HTTP_X_FORWARDED_FOR'] AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)){
foreach($matches[0] AS $ip){
if(!preg_match("#^(10|172\.16|192\.168)\.#", $ip)){
$user_ip = $ip ;
break;
}
}
} else if (@$_SERVER['HTTP_FROM'])
$user_ip = $_SERVER['HTTP_FROM'] ;
else
$user_ip = $_SERVER['REMOTE_ADDR'] ;
Не стоит забывать о пользователях под проксей.
Способ более навороченый, но не менее "дырявый". Все данные об ip можно подделать, кроме REMOTE_ADDR, который берётся с уровня подключения. Т.е. если человек что то заподозрит, то всё равно докопается
А возможно ли его перенаправлять на другой сайт? Например, с тем же движком. Если граббинг автоматический, то пару левых новостей он может подхватить. А если долго не заглядывал, то не сразу и панику поднимет
А возможно ли его перенаправлять на другой сайт? Например, с тем же движком. Если граббинг автоматический, то пару левых новостей он может подхватить. А если долго не заглядывал, то не сразу и панику поднимет
можно с помощью .htaccess, например так
PHP код:
SetEnvIf REMOTE_ADDR [IP] REDIR="redir"
RewriteCond %{REDIR} redir
RewriteRule ^/$ [сайт на который перенаправляем]
подобное можно сделать также средствами PHP. но работать будет только если в граббере перенаправление обрабатываеться.