防止电子邮件扫描程序激活“退订”链接的策略


10

我想在我的服务发送的电子邮件的页脚中提供一个单击“取消订阅”链接。

显然,许多垃圾邮件扫描程序都会扫描电子邮件,并会按照电子邮件中找到的所有链接来扫描其内容是否存在恶意软件。到目前为止,我已经使用了一种解决方法:

  • 如果通过HTTP GET请求“退订”页面,它将呈现一个简单的确认表单以及一些JS,该JS会在页面加载时提交该表单
  • 如果通过HTTP POST请求“退订”页面,则我们退订用户

这样,用户通常只需要单击表单,他们就会收到“您已取消订阅”消息。如果他们禁用了JS,他们仍然可以手动提交确认表格。

现在的问题是,某些扫描仪(如Office365的ATP)将打开页面,并在其中执行JS。通过执行JS,他们提交表单并导致用户自动退订。

我考虑过将检查添加到自动提交JS逻辑中:

  • 不要为特定的用户代理自动提交
  • 不要针对特定​​客户端IP范围自动提交
  • 触发鼠标移动事件自动提交

但是这些似乎都是脆弱的方法,充其量只是黑客,随着电子邮件扫描程序改变其策略,这些方法必将被打破。

我敢肯定,这个问题已经困扰了我很多人。除了放弃单击功能之外,是否还有其他合理的解决方法?

PS。我添加了对RFC 8058的支持,但用户仍将单击页脚中的链接。


1
一个有趣的问题,我想到的是这个新的Google不可见的reCAPTCHA v3,通常情况下,如果看起来还不错,则不需要用户采取任何措施。
弗拉丹'19

@Vladan可以在“开心的情况下”工作。如果reCAPTCHA检查失败(例如,因为该页面在没有Google Cookie的电子邮件客户端中打开),那么对于最终用户而言,这将非常烦人。另外,数据会发送到Google,因此您需要对此感到满意,在隐私权政策中提及它。
PēterisCaune

我们具有相同的功能。但是我们使用Emarsys创建发送给用户的电子邮件,并且在页脚中有一个简单的链接(已编码)可以完成此任务。现在,您让我感到纳闷,电子邮件扫描程序取消了我的用户的订阅吗?
Vedran Maricevic。

Answers:


7

这是M³AAWG(邮件,恶意软件和移动反滥用工作组)正在进行的辩论的主题。一团糟,没有简单的解决方案。听起来您做的一切正确,但是某些反垃圾邮件系统过于激进。

最大的问题是,您可以做的所有事情也可以由滥用营销者或垃圾邮件发送者来完成。

我听到的最好的建议就是在行动上安排一个计时器。为在交付后5分钟内退订的用户添加验证码,然后删除验证码。(做不是为你的RFC 8058列表的退订,信息链接实现这一点。)

我的下一个最喜欢的建议是在消息中添加一个金丝雀链接。这对于人类读者来说应该是不可见的。如果遵循,它将暂时恢复该IP的最近点击活动,并暂时禁止该IP触发操作。

我也喜欢您的想法,只需确保如果禁用Javascript,则在单击确认按钮后用户仍然可以退订。

 

我中有一部分人(警告,我是反垃圾邮件研究人员)想要这些误报。希望这会告诉我的同龄人他们做得很糟糕,并且这些升级会不断传给他们。从您的角度来看,您可以承担责任(尽管在此过程中您将失去一些订户)。

垃圾邮件检测系统必须小心,避免使用订阅管理链接(至少直到坏家伙开始将其有效载荷伪装为未使用的链接为止)。


谢谢!这些都是我从未想过的好主意。我将尝试使用计时器方法。就我而言,“ CAPTCHA”是屏幕中间的一个简单按钮,只需单击即可。对于快速打开的取消订阅链接,我将不包括JS来自动单击该按钮。这至少应该绕过Office365 ATP,它会在发送电子邮件后的一分钟内扫描链接。金丝雀链接将很难实施(撤消操作,跟踪禁用的IP)。另外,垃圾邮件扫描程序可能会将带有不可见链接的电子邮件标记为垃圾邮件/恶意软件。
PēterisCaune
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.