【问题标题】:banning the user to visit a url before visiting a particular url?在访问特定网址之前禁止用户访问网址?
【发布时间】:2014-07-14 21:35:04
【问题描述】:

我使用 html 和 php 制作了一个问答游戏,网址为 "localhost/game/ques1.php","localhost/game/ques2.php"

我在其中使用了会话,但用户可以通过将 URL 从 localhost/game/ques1.php 更改为 localhost/game/ques2.php 来回答下一个问题而无需回答问题 1。

如何阻止用户这样做??

【问题讨论】:

  • ques1.php 中只需在会话中设置一个变量,如$_SESSION['lastQuestion']=1。然后在ques2.php 中检查$_SESSION['lastQuestion'] == $currentQuestion - 1 中的$currentQuestion 是否与他们正在查看的页面相关。然后在加载ques2.php 时,将lastQuestion 设置为2,这样您就可以在3 上进行相同的测试,依此类推。
  • 它工作了兄弟...非常感谢你的帮助

标签: php html session localhost


【解决方案1】:

通常你会在一个页面上做这些事情,但如果你不这样做,你有几个选择。

  1. 您可以随时查看将数据发布到问题中(包括一些表明用户从问题 1 开始的隐藏字段)。
  2. 您还可以包含一些通过查询参数传递给问题 2 的动态生成的令牌。
  3. 您可以使用会话变量来标记每个页面都已被请求,尽管我可以想象有多种方式可能会失败。
  4. 您可以保存 cookie,尽管这也不是一个好方法。

我真的会考虑在一个页面上完成所有操作。您不必一次显示所有内容,我敢打赌您可以使 UI 看起来与您现在所拥有的非常相似。但它会更干净,加载速度可能更快(因为您不必为每个问题加载所有 head 和母版页(或其他)内容)。

【讨论】:

    猜你喜欢
    • 2018-01-16
    • 2010-10-15
    • 1970-01-01
    • 2023-01-21
    • 1970-01-01
    • 2015-07-16
    • 2015-02-15
    • 1970-01-01
    • 2011-03-16
    相关资源
    最近更新 更多