我最近受到鼓舞,我在JavaScript中使用Greasemonkey风格编写垃圾邮件过滤器,因为我使用的垃圾邮件容易出现垃圾邮件(特别是在评论中)。当我考虑如何解决这个问题时,我意识到我有几个选择,每个选项都有优点/缺点。 此问题的目标是扩展我创建的此列表,并希望确定使用JavaScript进行客户端垃圾邮件过滤的最佳方式。
至于什么使垃圾邮件过滤器成为“最佳”,我会说这些是标准:
另请注意,我正在尝试使用Greasemonkey Userscripts过滤已经存在于非我的网站上的内容。换句话说,我无法阻止垃圾邮件;我只能过滤它。
到目前为止,我尝试编制各种方法的清单及其缺点和好处:
基于规则的过滤器:
它的作用:通过为不同的标准指定一个点值来“分级”消息(即全部大写,所有非字母数字等)根据分数,消息被丢弃或保持。
好处:
缺点:
贝叶斯过滤:
它的作用:分析词频(或三角频率)并将其与训练的数据进行比较。
好处:
缺点:
贝叶斯过滤 - 服务器端:
它的作用:通过将每条消息提交给远程服务器进行分析来应用贝叶斯过滤服务器端。
优点:
缺点:
黑名单:
它的作用:将一组条件应用于消息或其某些属性。如果一个或多个(或特定数量)标准匹配,则拒绝该消息。很像基于规则的过滤,因此请参阅其详细说明。
CAPTCHA等:
此类应用程序不可行。我正在尝试将这些方法应用于已存在的网站。 Greasemonkey将用于做到这一点;在某人安装我的脚本之前,我无法开始要求CAPTCHA。
任何人都可以帮我填空吗?谢谢,
答案 0 :(得分:2)
没有“最佳”方式,特别是对所有用户或所有情况。
保持简单:
至于实际的服务器/过滤标准......
最重要的是不敢假设您可以猜测用户想要过滤的内容!这种情况会因人而异,甚至心情变差。
将服务器设置为使用错误字词,错误链接目标(例如.ru和.cn域名)和公共垃圾邮件过滤服务的组合。
最重要的是为用户提供一些方法来选择并理想地调整应用的内容。