如何检查AJAX请求的真实性

8 浏览
0 Comments

如何检查AJAX请求的真实性

我正在设计一个网站,用户需要尽快解决谜题。使用JavaScript来计时每个谜题,当谜题完成时,通过AJAX将毫秒数发送到服务器。我如何确保服务器接收到的时间不是由用户伪造的?

我认为基于会话的身份验证令牌(在Rails中用于表单)是不足够的,因为我需要验证值的来源,而不仅仅是请求的合法性。

是否有一种加密签名请求的方法?我想不出任何一种不能被黑客复制的方法。任何JavaScript都可能受到篡改,因为它是公开的、客户端的。我是否需要使用像Flash这样的编译过的东西?(天哪。)还是有一种隐藏密钥的方法?或者我还想不到其他的方法?

更新:为了澄清,我不想因为网络连接缓慢(网络速度应被视为不稳定)而惩罚用户,所以计时需要100%在客户端进行(只有当我们知道用户能看到谜题时才开始计时)。此外,涉及到金钱,因此不能接受任何"相信用户"的程度。

0