我正在开发一个问题&回答用户在页面上呈现五个谜题的网站,并且当他在页面上尝试问题时使用JavaScript计算得分。分数保存在Javascript变量score
中。我有这样的分页系统:
现在,当用户点击 3 时,我想将变量score
发送到下一页,我在每个页面上都有require scoreUpdateInDatabase.php
这样的分数上一页对数据库是永久性的,下面的PHP脚本向他展示了接下来的5个问题。
如何以安全的方式传递score
变量?我无法使用GET
因为用户会修改它。我对POST
感到满意,如果可以使用它,即使可以修改POST
数据,但我只想要最小的安全性。
P.S。请不要建议将AJAX调用放在哪一边我将发送score
并在返回时提出接下来的5个问题。我不想使用AJAX刷新内容,因为它是not SEO friendly。
答案 0 :(得分:1)
最简单的解决方案是基于cookie。将值写入会话cookie并阅读它。
您可以使用jquery cookie。如果需要,它还为您提供了要求https的选项。
答案 1 :(得分:0)
将其保存在会话中。 POST在这种特殊情况下同样有效,但我的偏好是将它存储在会话中。
答案 2 :(得分:0)
唯一安全的方法是使用POST
或AJAX将实际答案传递给服务器,同时在服务器端计算分数并将其保存在SESSION
变量中
答案 3 :(得分:0)
尝试查看Jquery - 您应该能够将值返回到服务器脚本语言(因为您将PHP列为标记,我假设您使用的是PHP)。通过使用Jquery,您可以在将表单提交到下一页之前将javascript变量添加到表单中。
假设您已使用PHP生成最初提交的表单,而不是在javascript中创建表单。我会使用Jquery - 在PHP脚本中获取此文件(http://jquery.com/)和include("jquery.js");
等...以便使用它。
然后我将javascript变量转换为php变量并将其分配给表单中的隐藏字段,以使用$_POST[]
变量提交到下一页。
答案 4 :(得分:-1)
然而它不会对SEO友好(POST和SESSION不是SEO友好,但你应该使用它们,继续阅读)
我们正在谈论一场比赛。没有人希望搜索引擎索引游戏的最后一页......因为每个人都可以在谷歌(例如)上搜索游戏的最后一页而不玩游戏。
你必须使用ajax或post,但不要让google索引你游戏的每一页。这是无稽之谈。
只应将游戏的第一页编入索引。