【问题标题】:Email unsubscribe link: How to detect a real person, so that a mail link-checking robot (gmail, antivirus) doesn't unsubscribe users accidentally?电子邮件退订链接:如何检测真人,使邮件链接检查机器人(gmail、杀毒软件)不会意外退订用户?
【发布时间】:2019-01-15 22:14:54
【问题描述】:

我注意到从 Mailchimp 发送的电子邮件中有以下模式:

他们愿意

  • 让用户通过单击取消订阅电子邮件(= 单击电子邮件中的链接,无需在网站上进一步确认)

  • 但要防止邮件检查机器人(gmail、防病毒软件...)打开电子邮件中提到的 URL 以意外取消其用户的订阅

他们现在做的很聪明:

  • 退订页面确实包含退订按钮(因此机器人只能看到该页面,而不会仅通过访问 url 进行破坏性操作)

  • 但是当真人打开页面时,他们会自动点击按钮,因此用户只会看到一个快速加载指示器,然后是确认取消订阅成功。

我想实现一个类似的东西,但我不知道如何 - 只用 javascript“单击”按钮就足够了吗? 这将假设没有链接检查机器人运行 javascript,我不确定这是我可以做出的假设。

或者,是否有其他方法可以检测到真人正在查看页面?比如,检测鼠标移动?还是滚动?

感谢您的想法! :)

【问题讨论】:

  • 会不会是机器人和浏览器的代理不一样?
  • 我想当邮件检查机器人使用与标准网络浏览器不同的标头时。例如,您可以尝试使用修改后的 User-Agent 请求 Mailchimp 取消订阅页面,看看它是如何响应的。

标签: javascript email


【解决方案1】:

您检查鼠标的想法非常聪明。如果你有一个 onmousemove 事件和一个 onmouseover 事件,你可以检测是否有人移动了鼠标来点击按钮。确认后,您可以将其与取消订阅事件一起发送。您可能必须捕获一些真实数据,但我认为仅查看路径中的差异就足以拒绝机器人,除非它是专门为取消订阅某人而构建的。

不过,我会使用 selenium 之类的前端测试框架对此进行测试,以确保您可以拒绝来自自动化系统的点击。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-01
    • 2017-09-04
    • 2016-05-30
    • 2018-06-20
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多