根据主机名阻止请求

根据主机名阻止请求

有人在他们的 Nginx 设置中使用过这个模块吗?

如果是,我想知道它的性能。它对响应时间的影响有多大等等。

https://github.com/flant/nginx-http-rdns

该模块基本上在处理请求之前执行反向 DNS 查找以获取主机名。

如果您需要任何其他信息,请告诉我。

编辑:@Kromey、@MichaelHampton,感谢你们的时间和回复。以下是提出这个问题的原因:

设想:

我建立了一个网站,其中包含一些表格。每当有人填写表格时,我都会收到一封包含表格详细信息的邮件。

问题:

在过去的几天里,有人一直通过机器人提交表格。我每天收到几千封邮件。所有邮件都通过这个主机发送:

205.47.89.110.broad.pt.fj.dynamic.163data.com.cn.

开始时的 ip 一直在变化,但是之后的主机名是相同的。(我对主机名的 ip 进行了 nslookup)。

你可能已经猜到了,我对此并不太高兴。

我研究过的解决方案:

  1. Captcha - 不想实现这个,因为这对用户来说基本上是额外的工作
  2. 隐藏字段 - 包含普通用户无法看到的隐藏字段。由于机器人通常会填写表单中的所有字段,因此我可以检查此字段是否已填写,如果字段包含任何值,则拒绝详细信息 - 请参阅下一点,了解我不想实现这一点的原因。
  3. 测量用户开始填写表单和用户提交表单之间的时间。由于机器人执行此操作非常快,因此如果测量的时间低于某个阈值,则拒绝请求 - 我想在用户访问表单之前就拒绝请求。也就是说,在 Nginx 层本身。基本上,我试图最大限度地减少服务器上的带宽和资源消耗。

因此,我倾向于基于主机名进行阻止的解决方案。您可以随意说服我。我愿意听取建议。

谢谢

相关内容