阻止直接访问php页面,仅在重定向时访问

Utk*_*maz 5 php

我想让我的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)

我真的不知道这是否会起作用,但这就是我会尝试的.


Jay*_*dev 6

尝试这个

if (!isset($_SERVER['HTTP_REFERER'])){

   echo "uh?"; }

else {

   // The script
 }  
Run Code Online (Sandbox Code Playgroud)