Javascript 使用setinterval保存到本地存储

Javascript 使用setinterval保存到本地存储,javascript,jquery,Javascript,Jquery,我正在开发一个秒表测试,用来计算用户回答测试所花的时间。但是如果用户刷新浏览器,它就可以被用户破解 嗯,我该怎么办?我应该每秒钟将计数器保存到本地存储吗?和恢复?否,本地存储也完全由用户控制 您需要在服务器端跟踪信息:在用户X启动任务Y时有服务器记录,在用户完成任务Y时有服务器记录。您在客户端所能做的任何事情都无法抵制哪怕是适度的绕过尝试 即使是服务器方法也很容易被不好的参与者绕过(例如,我注册了多个帐户,将所有答案汇总在一起,然后“真实地”注册,并在记录时间内参加测验)。你总是在进行军备竞赛(

我正在开发一个秒表测试,用来计算用户回答测试所花的时间。但是如果用户刷新浏览器,它就可以被用户破解


嗯,我该怎么办?我应该每秒钟将计数器保存到本地存储吗?和恢复?

否,本地存储也完全由用户控制

您需要在服务器端跟踪信息:在用户X启动任务Y时有服务器记录,在用户完成任务Y时有服务器记录。您在客户端所能做的任何事情都无法抵制哪怕是适度的绕过尝试


即使是服务器方法也很容易被不好的参与者绕过(例如,我注册了多个帐户,将所有答案汇总在一起,然后“真实地”注册,并在记录时间内参加测验)。你总是在进行军备竞赛(IP检查等),但至少你会有一些小机会使用一些用户无法控制的东西。

编写一个Web服务并保存在那里!!存储也可以进行黑客攻击——非常简单:F12,资源,本地存储>“编辑值”。您应该将其保存到服务器。@RokoC.Buljan::-)甚至:F12,控制台,
localStorage.setItem(“quizstart”,timeInFuture)
@T.J.Crowder是的,但“黑客”会先用最简单的方法嗅探;)@RokoC.Buljan:的确如此。:-)所以每秒钟就把数据传输到数据库@EuniceChia:不,只是当事件发生时,您需要(某种程度上)可靠的时间信息。所以在用户刷新时插入时间到数据库?没关系。@EuniceChia:不,当你需要记录一些信息时通知服务器。为了实现这一点,您需要用户注册,因为否则您无法可靠地跟踪他们。同样,当用户X开始测验时,记录他们在服务器上开始测验。然后,不管它们刷新多少次,服务器都知道它们是何时真正启动的。