【发布时间】:2011-06-01 18:28:56
【问题描述】:
我想查明来自第三方网站的传入 HTTP_REQUEST 调用是否来自我定义的域列表。
我知道可以使用 HTTP_REFERER 找出第三方域在哪里,但它不够安全。人们可以欺骗它或使用 Telnet 来伪造它。
那么,HTTP_ORIGIN 怎么样?它是从所有浏览器发送的吗?安全吗?
另外,人们可以在 HTTP_REQUEST 调用中伪造 REMOTE_ADDR 吗?
【问题讨论】:
-
@RichardW11 我在哪里可以找到有关 $_SERVER['ORIGIN'] 的信息?你确定它是正确的?
-
@GianpaoloDiNino 嗨,我删除了我的评论,因为我想澄清一下。那天很忙,评论也不是很准确。这是我所知道的。当我创建一个 javascript api 时,通过一个 php 应用程序连接。 Mozilla 浏览器不接受我的请求。研究时。原来我在寻找 HTTP_ORIGIN,但是浏览器正在发送 $_SERVER[ORIGIN]。为了解决这个问题,我刚刚创建了脚本来查找任一版本。您可以最终验证这一点。它也可能是 Mozilla 的版本。让我知道这是否有帮助。
-
@RichardW11 我没有找到任何相关信息。我们使用 http_origin + http_host 作为后备。
-
@GianpaoloDiNino 是的,很奇怪。这是来自 Mozilla 的屏幕截图。 i.imgur.com/9YEvpfj.png 奇怪的是,站点上的其他 javascript 请求没有发送该标头。哪些浏览器会发送 http_host?
-
@GianpaoloDiNino 刚刚加倍检查。在 Mozilla 的网络视图中,它显示 Origin,但事实证明他们只是清理标题以仅显示 Origin。然而,实际上它正在发送 http_origin。感谢挑战。感谢您的帮助。+1
标签: php dns http-request