【发布时间】:2013-12-11 21:26:14
【问题描述】:
是否有可靠的方法来判断对您网站的请求是来自服务器到服务器调用还是来自浏览器 url 调用?
例如,Paypal IPN 是服务器到服务器的调用。但是您也可以通过直接从带有浏览器参数的 url 调用它来伪造它。
我尝试了两种方式并在这两种情况下都转储了 $_SERVER,并且为浏览器设置了一些变量,但没有为服务器到服务器调用设置......即
HTTP_COOKIE
HTTP_CACHE_CONTROL
它们在服务器到服务器调用中不存在。我可以可靠地假设情况总是如此吗?
我可以使用 HTTP_USER_AGENT,但它可以是任何东西,我不想检查 REMOTE_ADDR,因为我试图让这更像是一种动态更改,不限于贝宝或任何特定的服务器端回复。我的假设是服务器端调用会缺少“通用浏览器”值。它可能不是 100% 可靠,但可能是 99%
这将最终确定我是在回调页面上使用 php 标头重定向还是 javascript 重定向。
想法?
【问题讨论】: