我正在上课,与大多数游戏一样,用户在完成第一级时会进入下一级别。我在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;
}
?>
我的问题是有人可以访问第二级,即使他们没有玩第一级。有没有办法可以解决这个问题,或者随机生成密钥来验证对下一级别的访问权限?
答案 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.