时间检查:服务器端或客户端
Timechecking: Server side or Client side?
我正在开发一个类似测验的应用程序。
这个应用程序跟踪用户回答每个问题所花费的时间。
我应该计算服务器端还是客户端时间?
我想出了这个利弊:
服务器端:
优点:用户不能"作弊"
缺点:用户延迟会严重影响
客户端:
优点:时间跟踪更精确
缺点:一个半专业的用户可以使用一些javascript来"欺骗"
通过设计,改变背后的逻辑(即:计算每个答案的平均时间)将破坏应用程序的目的。
延迟可能是一个问题,因为5-10秒的变化可能会改变用户的最终分数(乘以平均50个答案);这个应用程序可以在智能手机和平板电脑上运行,所以我预计网络延迟会很高。
我认为这可能是一个一般的html5/javascript开发问题,但谁问,我使用node.js作为服务器。
如果测试应用程序不敏感,则使用客户端的时间。
如果对时间非常敏感,我会同时使用服务器端和客户端的时间。
如果客户端的时间比服务器的时间短很多(比如5秒),那么可以认为客户端在作弊。
另外,我应该警告你,如果问题的答案是恒定的,那么创建一个脚本来自动填充这些值是很容易的。
。document.getElementById("QuestionOne").value="TheCorrectAnswer";void(0)
;
您可以使用客户端时间,并将其与服务器端时间进行比较。E两者都用。它不需要太多代码,但是很安全。
相关文章:
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 服务器端事件+客户端事件与Websocket
- 使用c#中的邮件附件javascript在客户端机器上获取服务器端导出的crystal报告路径.下面的
- 如何防止在客户端/服务器两侧对文本框进行sql注入
- 如何在VB中先执行客户端代码,然后再执行服务器端代码
- 正在使用在服务器端或客户端执行的 Jquery 函数
- 客户端HTML MVC渲染与服务器端通过NodeJS进行重定
- 在进行服务器端渲染时,我可以向客户端发送React组件吗
- 在app.settings中传递javascript变量(客户端变量到服务器端)
- 主干将客户端渲染与服务器端渲染区分开来
- 如何在不使用处理程序的情况下使用ajax将文件从客户端发送到服务器端
- 合并客户端/服务器端模板引擎
- 在客户端/服务器端检索原始电影大小
- 混合客户端/服务器端测试
- 是否存在客户端+服务器端MVC JS框架
- 在哪里托管Wakanda[客户端/服务器端纯JS'框架']
- 客户端服务器端模板nodejs
- Javascript在客户端/服务器端运行