PHP返回gethostbyname($ lookup)值

时间:2011-06-20 15:30:07

标签: php

我使用下面的代码(简化版)来确定我的IP是否在黑名单中。我需要对其进行修改以确定IP是否在白名单中。该函数将要求我查看返回的特定代码。

127.0.0.1 
127.0.0.2 
127.0.0.3 
127.0.0.4 
127.0.0.5

如何调整以在脚本运行时返回(代码)输出值?

$host = '222.22.222.222';
$rbl  = 'hostkarma.junkemailfilter.com';
$rev = array_reverse(explode('.', $host));
$lookup = implode('.', $rev) . '.' . $rbl;
if ($lookup != gethostbyname($lookup)) {

   echo "ip: $host is listed in $rbl\n";
} else {
   echo "ip: $host NOT listed in $rbl\n";
}

编辑:很抱歉,如果IP地址在$ rlb中输入的黑名单中,上述脚本的功能将返回确认。但是,Hostkarma返回一个代码,上面显示的127.0代码之一,因为每个代码表示不同的块状态。我需要获取代码。 “echo $ lookup;”只返回反向查找,如下所示:222.222.22.222.hostkarma.junkemailfilter.com

2 个答案:

答案 0 :(得分:1)

$lookup = implode('.', $rev) . '.' . $rbl;
$value = gethostbyname($lookup);
if ($lookup != $value){
   echo "ip: $host is listed in $rbl\n";
   echo "return value: $value\n";
}
else{
   echo "ip: $host NOT listed in $rbl\n";
}

127.x.x.x代码应作为gethostbyname返回的值提供给您。

答案 1 :(得分:0)

你是说这个吗?

echo $lookup;