Как запретить китайским ботам посещать сайт
22 Ноя 2013 | Автор: Иван Чередов |Часто встает проблема запрета доступа к сайту надоедливым спам-ботам. Для примера возьмем ботов из Китая.
Решений этой проблемы может быть много. Разберем запрет с помощью PHP и htaccess.
Для начала нужно знать все IP адреса китайских ботов. Можно, конечно, искать базы или собирать свои. Но самое простое — забанить всех китайцев, ботов и не ботов.
То есть просто запретить доступ к сайту или отдельным страницам посетителям с китайским IP.
В этом нам поможет неплохой сервис wipmania.com, который держит актуальные базы и free-API, с простым запросом: http://api.wipmania.com/[IPADDR]?[URL].
Итак, код:
<?php
function real_ip(){
if(isset($_SERVER[‘HTTP_X_FORWARDED_FOR’])){
return $_SERVER[‘HTTP_X_FORWARDED_FOR’];
}elseif(isset($_SERVER[‘HTTP_X_REAL_IP’])){
return $_SERVER[‘HTTP_X_REAL_IP’];}
return $_SERVER[‘REMOTE_ADDR’];}
$my_ip = real_ip(); //определили ip посетителя
$url="http://api.wipmania.com/".$my_ip;
$my_country = file_get_contents($url); //получили название страны, например CN
if ($my_country == "CN"){exit ("访问被拒绝");} //если этой и правда китай, то завершаем
//выполнение кода и выводим "Access Denied" по-китайски
else {
//… остальной код сайта …
}
?>