Javascript 如何停止直接访问。。。?

Javascript 如何停止直接访问。。。?,javascript,php,Javascript,Php,我正在为班级制作一个游戏,和大多数游戏一样,当用户完成第一关时,他们会进入下一关。我在我的game.php文件中的If语句中使用了这个选项来检查用户何时获胜 if (passOnLevel == 0 && passengerCarrying == 0) { alert("You Win!"); var levelOneC = '46A_gsnvh6dhABS'; window.location.href="gameL2.php?auth=" + level

我正在为班级制作一个游戏,和大多数游戏一样,当用户完成第一关时,他们会进入下一关。我在我的
game.php
文件中的
If
语句中使用了这个选项来检查用户何时获胜

if (passOnLevel == 0 && passengerCarrying == 0) {
    alert("You Win!");
    var levelOneC = '46A_gsnvh6dhABS';
    window.location.href="gameL2.php?auth=" + levelOneC;
}
在我的
gameL2.php
文件中,我在页面顶部使用以下内容:

<?php if (isset($_GET["auth"])) {
    $levelOneC = $_GET["auth"];
} else {
 echo '<META HTTP-EQUIV="Refresh" Content="0; URL=customise.php">';    
  exit;    
}
?>


我的问题是有些人即使没有玩过一级游戏也可以进入二级。有没有一种方法可以修复此问题或随机生成密钥来验证对下一级别的访问?

因为您使用的是PHP,所以可以使用
会话来查看他们是否有权限处于级别2或更高级别

因此,可能类似于
if($\u SESSION['level']>=当前\u级别)
。如果这是真的,那么他们是好的(谁在乎他们是否回到以前的水平?)。如果为false,则将其重定向到级别1


我建议您改用会话。你的顶级js很容易找到,我可以把ameL2.php?auth=46A_gsnvh6dhABS放到2级,你不能在客户端保护代码。如果你想让事情安全地发生,你必须在服务器上进行。哦,是的。我有很多设置变量的会话。我从没想过要那样做。