在我运行服务器的几年中,大多数垃圾邮件活动似乎都存在一种模式。我的问题/想法是,有没有办法告诉 Apache 在检测到 POST 数据时运行脚本?
我想要做的是对客户端的 IP 地址执行反向 DNS 查找,然后对 PTR 记录中的主机名执行 DNS 查找。之后,执行一些检查,请原谅伪代码:
if PTR does not exist:
deny POST request
if IP of PTR hostname = client's IP
Allow POST request
else
deny POST request
虽然我并不关心 GET 请求,尽管它们可能同样具有恶意,但这个想法针对的是使用 POST 数据将评论数据发送到 Web 服务器的垃圾评论。为了确保不会出现太多时间延迟,我会运行自己的递归 DNS 服务器。
请注意,这并不是要成为垃圾邮件的杀手锏,但它应该可以减少垃圾邮件的数量。
可能还是不可能?
答案1
没有直接答案:
我认为这可能会导致许多合法请求被拒绝,因为 PTR 记录在电子邮件之外很少用于验证。因此,您可能希望使用系统,使这不成为拒绝帖子的完全理由,而是增加一个负面标记,用于最终评估的一部分。这是一种常见的电子邮件垃圾邮件模型。
如果您要这样做,我会在帖子发布并处于某种待审核状态后,在 Apache 后面的软件/应用程序中执行此操作。服务器感觉不适合这样做。例如,您是否希望如果人们的 PTR 记录不匹配,即使他们有有效的用户名和密码,他们也无法登录应用程序。即使您现在没有这样的功能,您可能希望在将来添加,然后服务器必须区分帖子请求。如果此产品扩展,您的应用程序功能将由系统管理团队掌控,这也有点奇怪。