EN BM 中文

VibeFlow

垃圾邮件、灌水和集体攻击 — 保护开放式投稿表单

匿名表格对所有人开放,包括机器人、广告商和一位非常执着的人。滥用行为如何发生,哪些防御措施在不破坏匿名性的情况下有效,以及在洪水式攻击期间该怎么做。

由 VibeFlow 团队撰写 · 发布于 · 已更新 · 8 min read

Also in: Bahasa Melayu · 简体中文 · 繁體中文

简短回答。 您无法要求匿名提交者登录,因此目标是让滥用行为付出高昂代价,而不是不可能。每个地址和每个浏览器会话的速率限制、隐藏的蜜罐字段、最短填写时间、工作量证明以及保留所有包含链接的提交,可以阻止大部分滥用行为——而且这些都不需要知道提交者是谁。

匿名提交表格存在一个不寻常的安全问题。任何在线服务滥用行为的标准解决方案是要求人们表明身份——登录、验证电子邮件地址、绑定电话号码。匿名页面无法做到这些,否则就会失去其匿名性。它必须对那些它一无所知的人保持开放,同时还要保持其队列的可读性。

这是可以实现的。它需要一套不同的工具,并且需要接受这样一个事实:目标是让滥用行为的成本高昂,而不是不可能。

谁会滥用表格,以及为什么

防御措施取决于攻击者,因此区分它们会有所帮助。

自动化垃圾邮件。 爬取网页寻找任何带有文本框的表格,并用链接填充它——指向赌博网站、假冒商品、贷款优惠。它们并非特别针对您。它们会突然出现,易于识别,并且最容易阻止。

人工广告商。 真实的人粘贴他们的商店、补习服务或活动的促销信息。数量少但持续存在,如果被拒绝,他们会重新措辞。

单个洪水式攻击者。 一个人提交几十甚至几百次——有时是相同的信息,有时是其变体。他们可能试图通过纯粹的重复来强制发布帖子,以掩盖别人的提交,或者只是为了耗尽管理员的精力。

集体行动。 一个团体在其他地方组织——群聊、竞争页面——就一个主题进行大规模提交。这在学生选举、社团之间的纠纷以及关于特定人物的争议中很常见。每次提交都来自不同的人和不同的设备,因此看起来像是真实的情绪。这正是其意图。

恶意链接。 提交带有链接的帖子,该链接指向网络钓鱼页面或恶意软件,希望管理员会点击它,或者更好的是,发布它。

不需要身份验证的防御措施

速率限制

限制任何来源在一段时间内可以提交的次数。这是最有效的措施,对诚实用户来说是不可见的,他们很少在一天内提交超过一两次。

困难在于“来源”这个词。显而易见的选择是网络地址,但地址是共享的。校园 Wi-Fi 网络上的每个人可能都来自同一个地址,移动网络通常将数千名客户置于一个地址之后。一个严格到足以阻止洪水式攻击者的限制也可能阻止整个宿舍。

有一些实际的折衷方案:

  • 慷慨地设置每个地址的限制——每小时几十次,而不是两次;
  • 为每个浏览器会话添加更严格的限制,以阻止随意重复;
  • 当达到限制时,减慢发送者的速度而不是完全阻止——等待一分钟可以阻止洪水式攻击者,而不会锁定邻居。

不跟踪人的挑战

CAPTCHA 证明有人在场,并且它对机器人有效。它的成本是摩擦、对使用辅助技术的人造成的问题,以及——对于某些提供商——将您的访问者数据传递给第三方。最后一点与匿名承诺格格不入。

还有一些不需要第三方的替代方案:

  • 蜜罐字段。 一个对人隐藏但对机器人可见的表单字段,机器人倾向于填写所有内容。任何填写了该字段的提交都会被丢弃。它不花钱,并且可以阻止相当一部分自动化垃圾邮件。
  • 最短时间。 没有人能在两秒内完成表格。比这更快到达的提交会被丢弃。
  • Proof of work. 提交者的浏览器必须在表单接受提交之前解决一个小的计算难题。一个人不会注意到它花费的半秒钟。试图发送一万次提交的人会发现它花费了真实的计算时间。不涉及个人数据。

内容规则

  • 保留或删除链接。 很少有真实的忏悔包含 URL。将所有包含链接的提交发送到单独的审查堆——或完全拒绝链接——消除了大部分垃圾邮件的动机。
  • 捕获重复项。 重复提交的相同或近似相同的文本可以折叠成一个带有计数项。
  • 限制两端的长度。 最小值可以阻止空提交和单字提交;最大值可以阻止某人粘贴小说。

开放时间

没有任何规定要求表格必须始终开放。有些页面会在夜间关闭提交,或者在队列达到一定大小时关闭,并明确说明。凌晨三点到达的洪水式攻击,在没有人看管的情况下,比遇到“提交将于早上 8 点重新开放”通知的洪水式攻击更具破坏性。

不该做的事情

不要“暂时”要求登录。 一旦您这样做,页面就不再匿名,而真正的提交者——那些更谨慎的人——会首先离开。

不要发布洪水式攻击。 发布二十个几乎相同的提交以“展示我们正在处理什么”恰好给了洪水式攻击者他们想要的东西。

不要禁止整个网络。 阻止校园地址范围或移动运营商,会因为一个人的行为而惩罚数千人。

不要点击提交中的链接 从您用于管理页面的设备和帐户。如果您必须检查链接指向何处,请使用链接预览或扫描服务,而不是您的浏览器。

不要详细公布您的防御措施。 “我们限制提交”没问题。“我们允许每个地址每小时精确 15 次”是一本操作手册。

识别集体行动

集体行动比洪水式攻击更难发现,因为每个提交都单独看起来合理。需要注意的迹象是:

  • 关于单一主题的提交量突然增加,尤其是昨天还很安静的主题;
  • 许多提交中出现相似的措辞、相同的不寻常词语或相同的论点;
  • 在紧密的集群中突然开始到达;
  • 提交内容读起来像是为 观众 而不是 页面 而写——精炼、有争议、口号式。

当您看到这种情况时,提交的数量并不能说明有多少人真正持有这种观点。十个人可以发送两百条消息。

适当的回应是发布 一两个代表性帖子,如果该主题完全符合您的规则,并公开说明收到了许多类似的提交。不要让数量获得比主题本身应有的更多空间。在选举和实时争议期间,考虑制定一项常设规则,即页面不发布任何关于候选人或争议方的内容——并在竞选开始前宣布,这样就不会被解读为偏袒。

在洪水式攻击期间

  1. 暂停表格 如果您的工具允许,并附上简短通知。关闭十分钟可以打破大多数洪水式攻击的势头。
  2. 不要阅读每一个。 按时间排序,找出爆发的开始和结束,并将其作为一个整体处理。
  3. 寻找它隐藏了什么。 洪水式攻击有时被用来掩盖某个特定的提交,或者耗尽管理员的精力,以便某些东西溜过去。仔细检查在它之前和期间到达的内容。
  4. 暂时收紧限制,然后一旦它过去就再次放松。
  5. 记录下来 在您的决策日志中:何时、多少、关于什么。第二次尝试通常遵循第一次的模式。

当滥用行为针对个人时

关于某个特定个人的洪水式提交不是垃圾邮件问题。这是骚扰,您的页面是其预期的工具。拒绝所有这些,甚至不要发布经过净化的摘要,并考虑是否应该告知该人他们正在成为目标。旨在引起某人痛苦的重复通信可能构成刑事犯罪——请参阅 Doxxing and harassment: the 2025 Penal Code offences.

一个现实的目标

您不会达到零垃圾邮件,而一个严格到足以保证零垃圾邮件的表格将无法使用。目标是达到这样一种状态:自动化垃圾邮件永远不会到达人类,一个坚定的洪水式攻击者被减缓到涓涓细流,并且集体行动被识别出其本质。少数精心选择的措施——速率限制、蜜罐、保留链接和暂停按钮——将帮助您实现这一目标,并且它们都不需要询问提交者他们是谁。

常见问题

如何在不要求登录的情况下阻止表单上的垃圾邮件?

限制一个来源在一段时间内可以提交的次数,添加一个只有机器人会填写的隐藏蜜罐字段,丢弃任何在两秒内完成的提交,要求浏览器提供一个小型的工作量证明谜题,保留或拒绝包含链接的提交,并折叠重复项。这些都无法识别提交者。

什么是蜜罐字段?

一个对人隐藏但对机器人可见的表单字段,机器人倾向于填写所有内容。任何填写了该字段的提交都会被丢弃。它不花钱,并且可以阻止相当一部分自动化垃圾邮件。

在匿名表单上使用CAPTCHA是个好主意吗?

它对机器人有效,但会增加摩擦,给使用辅助技术的人带来问题,而且一些提供商会将您的访客数据传递给第三方,这与匿名承诺不符。蜜罐字段、最短时间和工作量证明不需要第三方。

如何区分水军和真实意见?

寻找单一主题提交量突然增加、许多提交中使用相同的措辞或论点、紧密聚集的到达时间,以及看起来是为特定受众撰写的文本。十个人可以发送两百条消息,因此最多发布一两个代表性帖子,并说明收到了许多类似的提交。

在提交泛滥期间,管理员应该怎么做?

暂停表单并发布简短通知,将爆发式提交作为一个整体处理,而不是阅读每个项目,检查泛滥之前和期间收到的内容,以防泛滥隐藏了什么,暂时收紧限制,并将其记录在决策日志中。

页面是否应该为了阻止一个泛滥者而阻止整个网络?

不。网络地址是共享的:校园Wi-Fi网络上的每个人可能都来自一个地址,移动网络将数千名客户置于一个地址之后。阻止一个范围会因为一个人的行为而惩罚数千人。相反,应该减慢发送者的速度。

继续阅读

所有指南 →