首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否应该使用DNSBL检查web流量以阻止垃圾邮件发送者?

我是否应该使用DNSBL检查web流量以阻止垃圾邮件发送者?
EN

Stack Overflow用户
提问于 2010-11-28 13:18:56
回答 2查看 574关注 0票数 1

与其只使用验证码和垃圾邮件评论检查器来对抗垃圾邮件,对DNSBL执行check each request并在用户使用错误的IP时拦截用户是个好主意吗?

代码语言:javascript
复制
$blacklists = array('web.sorbs.net', 'opm.tornevall.org');
$parts  = explode('.', $_SERVER['REMOTE_ADDR']);
$ip  = implode('.', array_reverse($parts)) . '.';
foreach($blacklists as $bl)
{
    $check = $ip . $bl;
    if ($check != gethostbyname($check))
    {
        error_log('PHP Security: [DNSBL] - ' . $_SERVER['REMOTE_ADDR'] . ' - ' . $bl);
        die('Put a detailed error here so the client knows why they have been blocked');
    }
}

似乎唯一的问题是DNSBL对好用户的IP拦截过于热心,或者每个请求都要进行DNS查找的大量成本。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-28 13:35:59

这可能会有所帮助,但您必须考虑两件事:误报和漏报。

DNSBLs往往有相当多的这两个。攻击无辜用户的误报,以及漏掉僵尸网络好块的误报。我找到的处理在线垃圾邮件的最好的解决方案是使用验证码。

票数 0
EN

Stack Overflow用户

发布于 2014-11-02 01:51:47

顺便说一句,你在那里做的查找是不够的,你应该考虑使用类似下面的代码。此外,此代码还支持dnsbl.tornevall.org所支持的ipv6解析类型。

代码语言:javascript
复制
function rblresolve ($ip = '', $rbldomain = '')
{
   if (!$ip) {return false;}                       // No data should return nothing
   if (!$rbldomain) {return false;}        // No rbl = ignore

   // New ipv6-compatible function
   $returnthis = (long2ip(ip2long($ip)) != "0.0.0.0" ? explode('.', gethostbyname(implode('.', array_reverse(explode('.', $ip))) . '.' . $rbldomain)) : explode(".", gethostbyname(v6arpa($ip) . "." . $rbldomain)));
   // 127-bug-checking
   if (implode(".", $returnthis) != (long2ip(ip2long($ip)) != "0.0.0.0" ? implode('.', array_reverse(explode('.', $ip))) . '.' . $rbldomain : v6arpa($ip) . "." . $rbldomain)) {return $returnthis;} else {return false;}
}
function v6arpa($ip)
{
   $unpack = unpack('H*hex', inet_pton($ip));
   $hex = $unpack['hex'];
   return implode('', array_reverse(str_split($hex)));
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4295511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档