<?php
function is_blacklisted($ip) {
$dnsbl_check=array("bl.spamcop.net",
"relays.osirusoft.com",
"list.dsbl.org",
"sbl.spamhaus.org");
if ($ip) {
$quads=explode(".",$ip);
$rip=$quads[3].".".$quads[2].".".$quads[1].".".$quads[0];
for ($i=0; $i<count($dnsbl_check); $i++) {
if (checkdnsrr($rip.".".$dnsbl_check[$i] . '.',"A")) {
$listed.=$dnsbl_check[$i]." ";
}
}
if ($listed) { return $listed; } else { return FALSE; }
}
}
?>
en changeant le tableau de dns par les ip de bot (que je ne sais pas ou trouver). Il me reste le probleme des fourchette d'Ip a regler.<?php
function get_ip()
{
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
$ip = get_ip();
$os = array ("209.185.253.X", "66.196.90.X", "66.196.65.38");
if (in_array ("$ip", $os)) {
echo "adresse de bot";
}
else
{
echo "adresse normale";
}
//echo $ip;
?>
j'aimerais enlever les X ds le tableau d'IP, et faire en sorte que toute IP commençant par ça soit comptabilisée.<?php
// fonction de recuperation de l'IP parseuse
function get_ip()
{
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
$ip = get_ip();
//fonction de test IP BOT ou non
function is_bot($ip)
{
$string = $ip;
if (
eregi('209.185.253.', $string) // Google Bot
||
eregi('66.196.90.', $string) // Inktomi Slurp Bot
||
eregi('66.196.7', $string) // Inktomi Slurp Bot
||
eregi('65.54.164.', $string) // MSN Bot
||
eregi('66.28.250.', $string) // Alexa Bot
||
eregi('66.77.73.', $string) // Fast Bot
||
($ip == "66.196.65.38")
)
{
return true;
}
else
{
return false;
}
}
// test sur l'IP recupérée
$var = is_bot($ip);
if ($var == true)
{
// IP de bot
echo "bot's ip";
}
else
{
// IP normale
echo "use's ip";
}
?>