安全数据客户端缓存?

时间:2012-03-24 04:57:46

标签: javascript jquery html html5

有没有办法在客户端缓存安全数据,以便用户无法修改,以便在服务器端再次使用是安全的?

或者,如果用户有任何修改,那么它应该可用,但可能标记为非原始数据。

3 个答案:

答案 0 :(得分:2)

  

有没有办法在客户端缓存安全数据,以免用户修改它,以便在服务器端再次使用是安全的?

否。一旦数据是客户端本地的,您就输掉了比赛。

  

或者,如果用户有任何修改,那么它应该可用,但可能标记为非原始数据。

您可以使用仅为服务器知道的密钥对此数据进行签名。使用加密签名,任何人都可以验证签名者的身份,但只有拥有私钥的人才能生成“正确”的签名。

答案 1 :(得分:1)

简短回答 - 不。 更长的答案 - 你可以使用web存储/ indexedDB / Web SQL数据库,结合某种盐渍哈希来检查以后该对象没有改变,例如。

  1. 在服务器端使用salt加入哈希对象
  2. 将对象和哈希发送给用户
  3. 从用户
  4. 获取对象和哈希值
  5. 再次对用户返回的对象进行哈希处理并检查哈希值是否等于用户返回的哈希值

答案 2 :(得分:1)

由于客户端的存储空间限制为 - websql(低支持)localStorage/sessionStorage('支持支持'),indexedDB(低支持),当然还有{{1}很容易访问,不,没有办法保护客户端存储的数据。即使你使用某种JS方法加密数据,黑客也可以找到该方法。服务器端是使用某种cookies保护数据的唯一真正方法。