【问题标题】:Javascript spam script code filterJavascript垃圾邮件脚本代码过滤器
【发布时间】:2012-09-16 10:14:01
【问题描述】:

我正在托管一个聊天网站,我在上面放了一个 java 脚本来阻止垃圾邮件。如果有人发布相同的句子或单词,它不会发布第二个。我最近注意到有人使用不同的垃圾邮件技术,说同一个词,但在词尾添加数字会增加。例如像这样:Spam、Spam1、Spam2、Spam3 等等。因此,如果你们中的任何人知道代码是什么或他是如何编写脚本的,我将不胜感激,因为我不确定脚本是什么。

【问题讨论】:

  • 由于您的过滤是在 JavaScript 中进行的,因此您的客户可以轻松删除或更改您设置的机制。您需要在您的服务器上执行所有这些操作,而您的用户无法对其进行编辑。
  • 我知道我可以使用其他方法,但只要知道脚本就会更容易阻止它
  • 你的聊天服务器是什么?如果你愿意,我可以告诉你这是多么糟糕的主意。

标签: javascript spam spam-prevention chatroom


【解决方案1】:

我认为您最好的选择是在提交的帖子/单词之间进行更一般的比较。这很可能是一个自定义脚本,并且尝试专门针对个别技术将允许他们不断进行细微调整以绕过您的对策。这可以使用两个字符串的Levenshtein distance 来完成。仅添加一个数字会导致帖子与原始帖子之间的 Levenshtein 距离非常短,因此您可以忽略与以前的提交内容过于相似的提交内容。您可以使用许多服务器端库来完成这项工作,但如果不知道您是如何运行网站的,我真的不能推荐任何东西。

【讨论】:

  • 所以使用这种方法将消除这种垃圾邮件
  • 它可以用来减少依赖于重复提交非常相似的帖子的垃圾邮件,是的。
  • 这是一种通用技术,如果阈值设置得太低很容易被规避,如果设置得太高,则会不必要地压制类似的帖子(误报)。进行实验,并可能实施额外的检查(例如,如果您只与来自同一客户端的早期消息进行比较,则可以将阈值设置得比针对同一数据库过滤所有客户端的情况高得多)。这是一场军备竞赛,所以无论你想出什么,都会有人颠覆。他们是否认为它值得追求在很大程度上取决于外部因素,例如您正在运行什么样的网站。
猜你喜欢
  • 1970-01-01
  • 2014-09-17
  • 2011-01-21
  • 2019-09-19
  • 2012-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-21
相关资源
最近更新 更多