1

我有一个网页,它将加载由 PHP 处理的外部 javascript。在 Chrome 和 Firefox 中,如果我想通过 PHP 获取 js 文件的发起者,我只需要通过超全局变量来获取即可$_SERVER["HTTP_REFERER"]。但是,如果我在浏览此网页之前访问了另一个网页,则这在 IE 中不起作用。即使在 IE 中,如何获取启动器网页?

4

1 回答 1

1

PHP 不处理 JavaScript。您的浏览器正在处理 JavaScript。

众所周知,HTTP 标头是不可靠的,每个人都可以在请求中将其字段更改为您想要的任何内容。您无法通过使用$_SERVER["HTTP_REFERER"]或与 JavaScript 相关的任何内容来解决您的问题。某些浏览器已关闭引荐来源网址或提供将其关闭的可能性,因为某些附加组件也会删除引荐来源网址。

唯一可靠的方法是生成安全令牌,每次 JavaScript 调用您只会使用一次。将其保存在会话中,在调用 html/php 和调用 js/php 时进行比较。

于 2013-10-17T09:27:59.157 回答