To not allow an IP to access the site, you can block his IP, the following provides this method. Look at the code below.
function Get_ip_data () {
$ip =file_get_contents ("http://ip.taobao.com/service/getIpInfo.php?ip=". GET_CLIENT_IP ());
$ip = Json_decode ($IP);
if ($ip->code) {
return false;
}
$data = (array) $ip->data;
if ($data [' Region ']== ' Hubei province ' &&!iscrawler ()) {
Exit (' http://www.a.net ');
}
}
function Iscrawler () {
$spiderSite = Array (
"Tencenttraveler",
"Baiduspider+",
"Baidugame",
"Googlebot",
"MSNBot",
"Sosospider+",
"Sogou web Spider",
"Ia_archiver",
"Yahoo! Slurp",
"Youdaobot",
"Yahoo slurp",
"MSNBot",
"Java (often spam bot)",
"Baiduspider",
"Voila",
"Yandex bot",
"Bspider",
"Twiceler",
"Sogou Spider",
"Speedy Spider",
"Google AdSense",
"Heritrix",
"Python-urllib",
"Alexa (IA archiver)",
"Ask",
"Exabot",
"Custo",
"Outfoxbot/yodaobot",
"YaCy",
"Surveybot",
"Legs",
"Lwp-trivial",
"Nutch",
"Stackrambler",
"The Web Archive (IA archiver)",
"Perl Tool",
"Mj12bot",
"Netcraft",
"Msiecrawler",
"WGet Tools",
"Larbin",
"Fish Search",
);
if (In_array (strtolower $_server[' http_user_agent '), $spiderSite)) {
return true;
}else{
return false;
}
}
Take client IP
function Get_client_ip ()
{
if (Isset ($_server)) {
if (Isset ($_server["http_x_forwarded_for"])) {
$realip = $_server["Http_x_forwarded_for"];
else if (Isset ($_server["HTTP_CLIENT_IP"])) {
$realip = $_server["Http_client_ip"];
} else {
$realip = $_server["REMOTE_ADDR"];
}
} else {
if (getenv ("Http_x_forwarded_for")) {
$realip = getenv ("Http_x_forwarded_for");
else if (getenv ("Http_client_ip")) {
$realip = getenv ("Http_client_ip");
} else {
$realip = getenv ("REMOTE_ADDR");
}
}
return $realip;
}