PHP返回gethostbyname($lookup)值
我正在使用下面的代码(简化版)来确定我的IP是否在黑名单上。我需要修改它,以便能够确定IP是否在白名单上。该函数需要我查看返回的特定代码PHP返回gethostbyname($lookup)值,php,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('.', $
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你是说这个吗
echo $lookup;
127.x.x.x
代码应该作为gethostbyname
@Michael返回的值提供给您——OP的意思是,在哪里???@Neal:这也是我对问题的最佳解释对不起,伙计们,如果IP地址在$rlb中输入的黑名单上,上面脚本的函数将返回确认。但是,Hostkarma返回一个代码,上面显示的127.0代码之一,因为每个代码表示不同的块状态。我需要得到密码。“echo$lookup;”只返回反向查找,如下所示:222.222.22.222.hostkarma.junkemailfilter.com没问题JT。我以为这不是您需要的,但我想我会试试:)在做一些测试时,该服务似乎不接受IP地址,只接受主机名。如果我使用一个主机名,例如ghs.l.google.com.hostkarma.junkemailfilter.com
(谷歌应用程序的邮件服务器),对我来说效果很好。你能试着澄清一下你想要的预期输出是什么吗?我敢打赌你的意思是Michael的答案,但我怀疑这是你真正需要的(因为它太简单了)。如果返回的字符串相同,则意味着查找失败(请参阅手册)。
$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";
}