代码之家  ›  专栏  ›  技术社区  ›  Itay Moav -Malimovka

探索垃圾邮件发送者/机器人程序的启发式方法(论坛、博客等)

  •  3
  • Itay Moav -Malimovka  · 技术社区  · 15 年前

    我能想到的方法是:

    1. 测量动作之间的时间间隔。
    2. 比较文章的内容(如果它们彼此太相似),或者更好的是,只比较已发布的链接。
    3. 在用户活动的一段时间内检查分布情况(如果用户活动,比如每小时发布一次,持续一周,那么我们要么有一个超人,要么有一个机器人)。
    4. 预期的一些特殊活动:如stackoverflow,我希望用户按用户名链接(中上角)查看他们的新答案、评论、问题等。
    5. (由chakrit添加)帖子中的链接数。
    6. 不是启发式的。使用一些异步JS进行用户登录。(只会让机器人程序员的生活更加艰难)。
    7. (由alekc添加)不是启发式的。用户代理值。
    8. 还有,我怎么能忘记谷歌的方法(威尔·哈顿提到)。给用户标记某人为垃圾邮件的能力,足够的垃圾邮件投票意味着这是一个垃圾邮件用户。(计算足够的用户,这里的工作是什么)。

    还有别的主意吗?

    8 回复  |  直到 15 年前
        1
  •  4
  •   William Thomas    15 年前

    我可能对机器人创建者的智能估计过高了,但是第6个对于任何半正派的机器人创建者来说都是毫无用处的。使用C浏览器控件创建bot会使6变得毫无用处。从我对这种类型的软件的了解来看,这是一种非常常见的方法。

    在useragent上验证几乎是没用的,我用来获取的所有博客垃圾邮件都来自于看似有效的web浏览器的僵尸。

    我过去经常收到很多博客垃圾邮件。我会每天删除数百条评论。我利用了recaptcha,现在我可能一个月得到1个。

    如果你真的想做这样的东西。我将尝试执行以下操作:

    用户开始时无法发布URL。

    在分析了x个帖子数后,与线程中的其他帖子相关,然后授予他们访问帖子URL的权限。

    用户在网站上的活动,帖子质量,以及你认为必要的任何其他因素都将是该用户IP的声誉。

    然后,根据IP和同一子网上其他IP的声誉,您可以根据自己的需要做出其他决定。

    这只是我想到的第一件事。希望它有帮助。

        2
  •  3
  •   chakrit Dutchie432    15 年前
    • 日志中的链接数。

    我想我在某个地方读过 Akismet 使用链接数作为其主要启发式方法之一。

    我博客上的大多数垃圾邮件评论都包含10多个链接。

    说到这个…你可能只是想看看 Akismet API 本身…它们非常有效。

        3
  •  1
  •   dirkgently    15 年前

    在文章正文中搜索与垃圾邮件相关的关键字怎么样?

    不是一种启发式的方法,而是一种有效的方法:您还可以更新 StopForumSpam 使用它们 APIs .

        4
  •  1
  •   chakrit Dutchie432    15 年前

    我相信,页面访问之间的时间间隔很常见。

    我需要在我的个人网站上添加一个评论部分,并考虑让人们给我他们的电子邮件地址;我会给他们发一个“发布评论”链接。

    您可能需要检查它们是否来自垃圾邮件黑名单IP地址(请参见 http://www.spamhaus.org/ )

        5
  •  1
  •   Community Erin Dees    7 年前

    another answer 这意味着使用Akismet检测垃圾邮件,我完全赞同。

    然而,他们并不是唯一的一名球员。

    TypePad AntiSpam 它使用与Akismet相同的启发式方法,以及相同的API(只是不同的URL和API键,调用的结构相同)。可以肯定地说,他们和Akismet采取的方法差不多。

    您可能还想退房 Project Honeypot . 据我所知,它可以根据用户的IP地址进行查找,如果是已知的恶意IP,它会告诉您(Harvester或类似的东西)。

    最后,你可以查一下 LinkSleeve 这是一种评论垃圾邮件的方法,它声称是一种不同的方式。基本上,它会检查评论中链接的链接,并根据链接将指向的位置做出决定。

        6
  •  1
  •   Will Hartung    15 年前

    不要忘记终极的启发式方法:用户可以点击“报告垃圾邮件”按钮。如果没有其他内容,这将使您作为管理员有机会更新您的规则库中可能滑过的内容。当然,你也可以直接删除有问题的帖子和用户。

        7
  •  0
  •   Alekc    15 年前

    我对4_?点有一些疑问,无论如何,我也会添加用户代理。很容易伪造,但根据我的经验,大约90%的机器人程序使用Perl作为UA

        8
  •  0
  •   gsueagle2008    15 年前

    我相信有一个某种类型的网络服务,你可以得到一个搜索引擎优化关键词列表,检查这些关键词的内容。如果内容要丰富的关键字怀疑它是垃圾邮件。