Javascript 安全测验

Javascript quiz security

我想构建类似测验的应用程序。

在浏览器中,播放声音,用户必须猜测它是什么音高。如果答案正确,更新用户分数。音高由随机生成的整数表示。会有高分table.

我的问题是:

是否可以完全安全地执行此操作(不允许用户通过浏览器开发工具检测音高或通过发送自己的 post 请求来更新乐谱)?

我想到了什么:

  1. 如果音调是在服务器端生成的,我必须通过浏览器发送它,然后用户才能找到音调,例如在 chrome.
  2. 的网络部分
  3. 如果在客户端生成音高(在 clojure 中),我会将答案与生成的音高进行比较,然后向服务器发送乐谱更新 post 请求。这种请求用户可以很容易地自己模拟。

不,这不安全。 您的所有文件都将位于用户的计算机上。包含声音文件和 javascript 代码。

这意味着,用户可以查看源代码以获得答案。

如果你想保护它,你应该研究服务器端解决方案。

您可以从服务器以加密形式发送音调。如果用户回答图片,则在服务器端解密音高并匹配答案。您还可以在服务器端进行不同的检查,以确定用户是否试图做出禁止的事情。