如何停止直接访问...?

时间:2014-04-02 21:02:39

标签: javascript php

我正在上课,与大多数游戏一样,用户在完成第一级时会进入下一级别。我在If文件中的game.php语句下使用了这个来检查用户何时赢了。

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;    
}
?>

我的问题是有人可以访问第二级,即使他们没有玩第一级。有没有办法可以解决这个问题,或者随机生成密钥来验证对下一级别的访问权限?

1 个答案:

答案 0 :(得分:7)

由于您使用的是PHP,因此可以使用sessions查看他们是否有权获得2级或更高级别。

所以,也许像if ($_SESSION['level'] >= current_level)这样的东西。如果这是真的,那么它们是好的(谁会关心它们是否回到了较早的水平?)。如果为false,则将它们重定向到级别1。

Here's a quick tutorial I found to get you started if you don't know about sessions.