基于会话的服务器端数据设置和检索

时间:2012-07-27 20:19:21

标签: php javascript jquery web-services model-view-controller

我有一个关于如何处理当前项目的理论问题。这是一个使用JS + PHP的相当简单的匹配测验。我只是在服务器上处理业务逻辑(回答检查,分数更新),例如大致遵循MVC约定。

我目前的设置:

  • HTML + JS页面,允许用户将答案拖放到问题上。成功删除后,问题+答案组合将发送到以下内容:
  • 服务器端PHP页面,用于根据XML文件检查答案的正确性。我在一些XML客户端中返回一些数据,例如true / false和某个问题的尝试次数。 此外,如果答案是正确的,我会在服务器上增加会话变量以跟踪用户的分数。

我的问题围绕设置上述会话变量以跟踪分数的最佳实践。我理解,如果计算机关闭,意外浏览器关闭等,更可能更持久的设置...但严格基于此设置 -

  1. 这是一种安全的方法,用于存储最终插入数据库的分数吗?
  2. 我最终将不得不在游戏结束时(甚至是游戏中期)从服务器上取下分数。我应该创建一个简单的“getter”PHP页面来降低分数,只需访问会话变量并将其发送给客户端吗?
  3. 目前,用户实际上可以访问php服务器端页面,因为它与实际测验位于同一文件夹中。这可能是一个禁忌 - 但是从用户的窥探中隐藏这个仅服务器文件的常见做法是什么(不必使用身份验证)?

2 个答案:

答案 0 :(得分:2)

  

这是一种安全的方法,用于存储最终插入数据库的分数吗?

很安全。但是我没有看到为什么你不会更新数据库中的分数。这样持久。

  

我最终将不得不在比赛结束时(或者甚至是游戏中期)将比分从服务器上拉下来。我应该创建一个简单的“getter”PHP页面来降低分数,只需访问会话变量并将其发送给客户端吗?

听起来像一个计划。

  

目前,用户实际上可以访问php服务器端页面,因为它与实际测验位于同一文件夹中。这可能是一个禁忌 - 但是从用户的窥探中隐藏这个仅服务器文件的常见做法是什么(不必使用身份验证)?

只要文件是.php文件并由网络服务器解析,用户就只能对文件发出请求,就是这样(如果我理解问题是正确的话)。

答案 1 :(得分:0)

看看这个。我希望这会对你有所帮助

http://www.linuxforu.com/2009/01/server-side-sessions/