我想让我的php页面只能从另一个页面重定向访问,并阻止我的用户直接访问它.
我的意思是,假设我有一个名为"main.php"的页面和另一个我希望阻止直接访问的PHP文件,名为"noaccess.php".
我想只有从main.php重定向才能访问noaccess.php
有什么建议?
更新:Session是一个好主意,但问题是我必须使用JavaScript来重定向页面,所以问题是,我可以使用ajax来设置PHP会话吗?
更新2:好的我找到了解决方案,我现在不需要阻止直接访问,因为我可以从mysql检查页面是否需要访问.
小智 7
如果您每次要重定向,都会在$ _SESSION变量中保存一个值.所以你有了
//code
$_SESSION['fromMain'] = "true";
header("Location: noaccess.php");
Run Code Online (Sandbox Code Playgroud)
然后在noaccess.php中
if($_SESSION['fromMain'] == "false"){
//send them back
header("Location: foo.php");
}
else{
//reset the variable
$_SESSION['fromMain'] = "false";
}
Run Code Online (Sandbox Code Playgroud)
我真的不知道这是否会起作用,但这就是我会尝试的.
尝试这个
if (!isset($_SERVER['HTTP_REFERER'])){
echo "uh?"; }
else {
// The script
}
Run Code Online (Sandbox Code Playgroud)