我是 php 的初学者,想知道我是否有页面 A.php 、B.php 和 C.php 以及页面 A.php 向页面 C.php 发送请求我怎么知道请求来自 A.php 不是任何其他页面。谢谢
问问题
194 次
4 回答
1
于 2012-10-02T21:45:13.823 回答
0
我会在 URL 调用的 GET 数组中添加一个变量并检查 - www.yoururl.com/pageC?callingPage=a 类似的东西。referrer 变量不一定可靠:/ 此外,由于您需要知道您来自哪个页面,因此您不会也对该页面的数据进行处理吗?如果是这种情况,您可以将标识变量与正在发送的数据一起传递。如果没有,那么你仍然可以使用我刚才提到的方法。
于 2012-10-02T21:47:32.247 回答
0
查看 php 的$_SERVER变量。听起来你想使用$_SERVER['HTTP_REFERER]
.
注意:这不会 100% 准确,因为它使用来自浏览器用户代理的信息,这些信息可能会被欺骗,有些根本不会发送该信息。
没有 100% 保证获得此信息的方式,尽管那将是您最好的选择。
于 2012-10-02T21:46:08.797 回答
0
简单地说,在 C.php 中:
<?php
if ($_SERVER['HTTP_REFERER'] == 'http://www.somesite.com/A.php'){
// Do it
} else {
// Do not
}
为了提高可靠性,可以使用传递的其他数据(例如会话变量)(如果您使用表单,则更是如此)。如果它只是一个没有别的东西的直接链接,那就更难了。
于 2012-10-02T22:42:37.510 回答