我有一个关于如何处理当前项目的理论问题。这是一个使用 JS + PHP 的相当简单的匹配测验。我只是在服务器上处理业务逻辑(答案检查、分数更新),例如大致遵循 MVC 约定。
我目前的设置:
- HTML + JS 页面允许用户将答案拖放到问题上。成功删除后,问题 + 答案组合将发送到以下位置:
- 基于 XML 文件检查答案正确性的服务器端 PHP 页面。我在一些 XML 客户端中返回了一些数据,例如真/假和某个问题的尝试次数。此外,如果答案是正确的,我会在服务器上增加一个会话变量来跟踪用户的分数。
我的问题围绕着设置上述会话变量以跟踪分数的最佳实践。我知道,在计算机关闭、浏览器意外关闭等情况下,更持久的设置很可能更可取……但严格基于此设置 -
- 这是存储最终插入数据库的分数的安全方法吗?
- 我最终将不得不在游戏结束时(或者甚至是游戏中期,就此而言)从服务器上拉下分数。我是否应该创建一个简单的“getter”PHP 页面来降低分数,然后访问会话变量并将其发送给客户端?
- 目前,用户实际上可以访问 php 服务器端页面,因为它与实际测验位于同一文件夹中。这很可能是一个禁忌 - 但是隐藏这个仅限服务器的文件不让用户窥探(无需使用身份验证)的常见做法是什么?