0

假设我有一个网站,允许用户将该网站上的文章发送给朋友。

它的工作方式是,当单击“发送给朋友”链接时,会出现一个表单,允许用户填写详细信息,然后将电子邮件发送给他们的朋友。

用户可以在此表单中输入“发件人”电子邮件地址和“收件人”电子邮件地址以及少量内容。

收到电子邮件后,发件人电子邮件地址会出现在 FROM 和 REPLY TO 中。

该网站还向其用户发送大量自己的电子邮件通信。


我的问题是:

允许用户(机器人、攻击等)使用此应用程序从我的 SMTP 发送电子邮件是否存在风险,风险有多大?


我的假设是肯定的,这并不理想。

它可能比“不理想”更糟吗?


4

4 回答 4

1

是的,如果这是一个任何机器人都可以访问的公共网站,那么这绝对不是理想的。但是有一些简单的方法可以让您限制垃圾邮件的使用。

  1. 根据您的需要,让您的代码限制任何电子邮件地址每天发送约 50 封电子邮件,每小时仅发送约 10 封电子邮件。机器人可能会尝试一次发送一百万,因此限制它们每小时和每天。
  2. 将每封电子邮件通信存储在数据库中,并提出一个好的程序来监控最活跃的电子邮件发件人。如果您可以验证电子邮件是否受信任,则让他们发送任意数量的电子邮件

想想这个网站本身,它有非常明确的行为和声誉准则,这些准则会限制你,直到你证明你是值得信赖的。

于 2010-08-24T13:33:10.563 回答
1

这可能取决于您是否进行任何身份验证以确定允许谁发送电子邮件。如果用户必须登录才能发送文章,那么您可能没问题。机器人将失败,因为它们永远不会登录。

风险会增加您访问网站的更多流量,是的,它可能不太理想。未受保护的机器人将不可避免地找到您未受保护的表单,并开始从您的服务器发送电子邮件。

不过有一些非常简单的解决方案,最常见的可能是实现像Captcha这样的东西

于 2010-08-24T13:34:09.643 回答
1

我不知道使用您的表单的机器人。应该有问题吗?我不知道..我知道他们使用您的自定义表单和所有程序来编程机器人非常聪明。

我知道某些电子邮件服务器会检查 FROM 电子邮件地址是否与发送邮件的 IP 地址具有相同的 IP 地址。所以想象一下,我输入了我的 hotmail 电子邮件地址,并且邮件服务器看到了您的服务器,它可能会将电子邮件标记为垃圾邮件。

过去我有一个电子贺卡网络系统。这是一个与我认识的女孩的小型合资企业。她制作了(可爱的)卡片,我为她制作了一个电子卡片系统。该网站非常简单。选择卡片,输入电子邮件地址,将发件人电子邮件地址放入 FROM 并发送您将收到电子贺卡的电子邮件。

生活本来不错...

直到我发现我的整个 Web 服务器 IP 都被列入了三大垃圾邮件过滤机制的黑名单。曾经从我的网站接收电子贺卡的所有电子邮件收件人中有 15% 不会收到他们的电子贺卡,因为我的所有电子邮件从一开始就被列入垃圾邮件黑名单。我们收到了许多来自愤怒的“客户”的电子邮件,要求他们的电子贺卡没有送达。(我仍然觉得有些人要求这项服务很有趣,特别是因为它是一项免费服务,去算一下)。我的自动提醒功能是告诉他们电子卡仍然没有被查看,他们可能输入错误的电子邮件地址,所以可能已经勾选了他们:P

这对我的其他客户来说也很烦人,因为他们依赖发送播放的时事通讯等,并打电话给我说超过 20% 的客户没有收到时事通讯。

发送电子邮件很困难。您还应该查看Jeff 的博客。所以,从我的错误中吸取教训,请在 FROM 中输入与您的电子邮件服务器关联的电子邮件地址。这将使您免去很多麻烦;)

于 2010-08-24T13:38:17.383 回答
1

还算安全。我假设您确实检查了“发件人”地址,如果只是先发送一封(标准!)邮件并要求该电子邮件地址的所有者确认他们真的是人吗?这可以防止大多数机器人找到和滥用您的表单。当然,人工回复您的验证电子邮件的定向攻击仍然允许发送垃圾邮件。但是,如果您至少从所谓的“发件人”地址收到了一条回复,那么您的线索就会好得多。

但是,我认为这不会可靠地工作。SPF 等技术的引入意味着来自“example.com”的邮件只有在来自 *.example.com 域中的外发 SMTP 服务器时才会被接受。如果您使用 From: 地址@example.com 伪造电子邮件,接收 SMTP 服务器将看到您实际上不是 *.example.com 的一部分并拒绝该电子邮件 - 并且可能将您的 IP 范围列入黑名单以作为良好的衡量标准。

于 2010-08-24T14:11:50.133 回答