Как запретить китайским ботам посещать сайт

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 {

//… остальной код сайта …

}
?>

VN:F [1.9.22_1171]
пожалуйста, оцените страницу, я старался :)
Rating: 4.6/5 (8 votes cast)
Как запретить китайским ботам посещать сайт, 4.6 out of 5 based on 8 ratings

Есть что сказать? - Напишите!

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