在PHP消息中检测垃圾邮件的最佳方法是什么?

3

我正在尝试应对用户试图联系其他用户并索要钱款的问题。他们通常来自尼日利亚或加纳。

我已经尝试了几件事情,例如根据其IP在注册时完全阻止这些国家的用户。我还尝试检测相似的消息内容,并限制每天发送的消息数量为5条。

是否有可用的PHP类可以更好地处理这个问题或以不同的方式处理?

每天都需要检测并删除这些用户所发送的消息。


1
为什么不运行SpamAssassin和其他专用过滤工具,而是将所有内容都通过PHP进行处理?或者您是想要通过脚本过滤离开系统的垃圾邮件吗? - Marc B
你是因为认为这些是填写你的表格的“机器人”还是真正的人而试图阻止他们? - adamdehaven
1
Akismet被大多数WordPress博客广泛使用,它有多个库(例如PHP5库):http://akismet.com/development/ - h2ooooooo
@Adam 他们是真人,但他们正在向其他成员募集资金。 - user1216398
1
你正在使用验证码吗? - Amir Bilal
显示剩余5条评论
2个回答

7

检测垃圾邮件

Paul Graham 提出了一个贝叶斯过滤器的理论,可以过滤掉垃圾邮件:

http://www.paulgraham.com/spam.htmlhttp://paulgraham.com/better.html

搜索能够对文本块进行贝叶斯过滤的 PHP 代码。允许读者将消息标记为垃圾邮件,并将其作为贝叶斯过滤器的输入。尽可能复制 Gmail 的用户界面,让人们知道该如何操作。

谷歌如何在 Gmail 中使用技术来防止垃圾邮件:

http://googlesystem.blogspot.com/2007/10/how-gmail-blocks-spam.html


发给人们的消息通常是一系列的文字:D - Lightness Races in Orbit
你分享的文章真棒,点个赞! - Vlad Preda
您,先生,是一个邪恶的大脑。我一定会使用这个的。 - Captain Hypertext

3

使用像Askimet这样的外部服务。它对个人使用是免费的。


“用户试图联系其他用户”听起来不像是个人使用。 - AD7six

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接