将电子邮件传送到程序并防止快速提交垃圾邮件

Posted

技术标签:

【中文标题】将电子邮件传送到程序并防止快速提交垃圾邮件【英文标题】:Piping email to a program & preventing rapid-fire spam submissions 【发布时间】:2011-10-22 11:37:20 【问题描述】:

我在一个网站上工作,理想情况下,任何人都可以通过电子邮件发送指定地址并将照片附加到他们的消息中(例如从 iPhone)。该地址将设置为将电子邮件通过管道传输到 php 脚本,然后该脚本将处理此照片并将其存储在我们的服务器上。

我可以看到这个系统很容易被滥用:有人在他们自己的服务器上设置了一个页面,反复向该地址发送带有照片的垃圾邮件,从而堵塞了我们的存储空间和服务器资源。有人对如何将这种风险降到最低有任何建议吗?

谢谢!

【问题讨论】:

【参考方案1】:

我在这里看不到万无一失的方法。但是,您可以将此过程视为用户注册过程。一旦有人向您发送电子邮件,您将电子邮件存储在临时存储中,将自动生成的消息发送回原始电子邮件地址,要求他们单击唯一链接以确认或使用一些特殊文本回复该电子邮件。

【讨论】:

我已经考虑过这样做,任何类型的仅基于电子邮件的注册问题似乎都不合理——用户可以注册一个电子邮件地址,然后一旦它被接受系统,欺骗该地址以发送大量垃圾邮件。我可以像你说的那样做临时存储建议,但我也想尽量避免垃圾邮件发送者使用脚本从不同的电子邮件发送的可能性(即 foo1@gmail.com 然后 foo2@gmail.com) 我认为最好的可能性是: 1. 将用户发送到缩短的网址 2. 使用带有验证码和文本框的表单来捕获他们的电子邮件 3. 显示一次性使用的电子邮件地址,他们可以将照片发送给感谢大家帮助我思考这个问题。【参考方案2】:

一些选项,我的头顶。不过,我会使用一个组合:

    使用注册系统(有验证码保护),只有注册用户才能使用服务;为每个用户提供自己的秘密电子邮件地址,并且只接受来自其注册地址的电子邮件。 (是的,他们的地址可能会被伪造,但这至少可以防止临时滥用者) 要求用户在主题行中输入密码,这样即使他们的from 地址被攻击者欺骗,他们也需要知道密码,否则邮件会被拒绝 设置每个帐户的限制 限制照片大小,以免有人尝试重复上传 100 MB 的照片

【讨论】:

嗯,这就是我略读得到的。

以上是关于将电子邮件传送到程序并防止快速提交垃圾邮件的主要内容,如果未能解决你的问题,请参考以下文章

使用 CSRF 表单令牌是不是有助于防止垃圾邮件?

可以做些啥来防止类似论坛的应用程序中的垃圾邮件?

使用php邮件功能防止发送的电子邮件被视为垃圾邮件

限制函数的数量以防止垃圾邮件

从贝叶斯公式到垃圾邮件的识别

如何防止通过 PHP mail() 发送的邮件进入垃圾邮件? [复制]