我怎么知道哪个php页面请求当前的PHP脚本?

时间:2012-10-02 21:39:42

标签: php httpwebrequest

我是php的初学者,想知道我是否有页面A.php,B.php和C.php以及页面A.php发送请求到页面C.php我怎么知道请求来自A .php不是任何其他页面。 感谢

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

查看php的$_SERVER变量。听起来你想使用$_SERVER['HTTP_REFERER]

注意:这不是100%准确,因为它使用来自浏览器用户代理的信息,这些信息可能是欺骗性的,有些根本不会发送该信息。

没有100%保证获得此信息的方式,尽管这是您最好的选择。

答案 2 :(得分:0)

我会在URL调用的GET数组中添加一个变量并检查 - www.yoururl.com/pageC?callingPage=a 这样的事情。 referrer变量不可靠:/ 此外,既然您需要知道您来自哪个页面,那么您是否也不会对该页面的数据做些什么?如果是这种情况,您可以传递带有正在发送的数据的标识变量。如果没有,那么你仍然可以使用我刚刚提到的方法。

答案 3 :(得分:0)

简单地说,在C.php中:

<?php

if ($_SERVER['HTTP_REFERER'] == 'http://www.somesite.com/A.php'){
  // Do it
} else {
  // Do not
}

为了提高可靠性,可以使用传递的其他数据(例如会话变量)(如果使用表单则更多)。如果它只是一个没有别的直接链接,那就更难了。