【发布时间】:2016-07-14 09:39:07
【问题描述】:
假设我有两个页面 page1.php 和 page2.php 并且我希望 page2.php 仅在它被重定向形式 page1.php 并且我将此代码插入到 page2.php 时才显示
if($_SERVER['HTTP_REFERER'] == "page1.php")
{
//keep displaying page2.php
}else{
//if it is not redirected from page1.php
header('Location:page1.php')
//redirect the user back to page1.php
}
这段代码运行良好,直到我在page2.php 上有一个表单和一个提交按钮,当单击提交按钮时页面刷新,这意味着HTTP_REFERER 将更改为page2.php,所以我的if statement 失败并且需要我回到page1.php 我不希望这种情况发生。有什么办法可以防止这种情况发生吗?
提前致谢。
【问题讨论】:
-
referer 是用户提供的值,不应依赖它,因为它可以被操纵或省略。而是使用会话,在 page1.php 上设置会话变量并在 page2.php 上检查它。
-
@CharlesAddis 我添加了代码,但似乎没有任何改变。
标签: php redirect http-referer