过滤评论垃圾邮件?PHP

Sea*_*ins 6 php comments filtering spam-prevention

我正在寻找有关过滤垃圾邮件的方法的文章.当我搜索所有我一直在寻找的是Wordpress,过滤脏话等的方法,这不是我正在寻找的.我正在寻找编写自己的过滤系统和最佳实践的方法.

任何以前做过此事的人的任何教程链接都将不胜感激.

我到目前为止只有好文章是http://snook.ca/archives/other/effective_blog_comment_spam_blocker

Tim*_*Tim 12

在编写自己的方法时,您必须结合使用启发式方法.

例如,垃圾评论通常有2个或更多URL链接.

我会开始编写你的过滤器,使用触发词的字典并让它循环并使用它们来确定概率:

function spamProbability($text){
    $probability = 0;  
    $text = strtolower($text); // lowercase it to speed up the loop
    $myDict = array("http","penis","pills","sale","cheapest"); 
    foreach($myDict as $word){
        $count = substr_count($text, $word);
        $probability += .2 * $count;
    }
    return $probability;
}
Run Code Online (Sandbox Code Playgroud)

请注意,此方法会导致许多误报,具体取决于您的单词集; 您可以让您的网站"标记"以进行审核(但立即上线)概率> .3和<.6的那些,要求那些> .6和<.9进入一个队列进行审核(他们不会出现直到批准),然后超过> 1的任何东西都被拒绝.

显然,这些都是您必须调整阈值的所有值,但这应该让您开始使用非常基本的系统.您可以添加其他几个限定符来增加/减少垃圾邮件的可能性,例如检查不良单词与单词的比例,更改单词的权重等.