我想测量用户完成任务(回答测验)所需的时间。我想准确地测量它,而没有网络延迟。这意味着,如果我在服务器端测量两个请求之间的时间,它不会是用户花费的实时时间,因为网络时间已被考虑在内。
但另一方面,如果我用 JavaScript 进行测量并将时间戳发布到服务器,用户将能够看到代码,并通过发送虚假时间戳进行欺骗,不是吗?
如何在 JavaScript 中获取时间戳并确保用户不会伪造它?
最佳答案
通常在客户端代码中,任何以“如何安全地...”开头的问题都会以“不可能”来回答。什么都没有,甚至没有将变量放入闭包中(因为我,邪恶的作弊用户可以更改我这边的代码并将其发送回给您)。
这是一种应该在服务器端执行的验证,即使存在网络延迟的缺点。
关于javascript - 如何安全地测量用户的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30005994/