【问题标题】:Empty request detection PHP空请求检测PHP
【发布时间】:2013-04-07 08:31:19
【问题描述】:

我有一个问题,网络托管公司仅向服务器发送标头请求,然后服务器试图“友好”并采取行动......请求数据;

 10.252.237.56 - - [29/Mar/2013:15:25:48 +1100] "HEAD / HTTP/1.1" 200 942

我如何在 PHP 中检测到这一点并停止将其传递给用户端。

拉里

【问题讨论】:

标签: php html http-headers request


【解决方案1】:
$_SERVER['REQUEST_METHOD']

显然,您可以将其与“HEAD”进行比较,并在它们相等时停止您的脚本。

但是,我认为您需要这样做的唯一原因是性能(尽管我认为这些请求根本不会产生任何负载)。从安全的角度来看,HEAD 请求不应该对您的应用程序造成任何损害。您应该使用身份验证、会话等来验证请求的真实性。禁止您的网络托管公司发送这些请求不会阻止其他人调用简单的GET /(或PUT 或其他未实现的方法)。

【讨论】:

  • 如果您只想阻止来自您的虚拟主机的头部请求,您当然也可以比较 IP 地址。
  • 无法通过 ip 地址进行选择,因为一切都在使用与真实请求相同 ip 的负载均衡器后面。是的,我们进行了会话,但这就是空请求看起来像一个新会话的问题,因此它会导致创建一个会话。他们每秒多次进行这些民意调查,因此能够“看到”这是一项民意调查并忽略它会很有帮助。
  • 根据您构建的平台,您可以设置健康检查以查找不同的 URL(例如 /health)。或者您可以检查 X-Forwarded-For 标头。
猜你喜欢
  • 2010-10-01
  • 2017-10-27
  • 1970-01-01
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多