【问题标题】:Knockout.js encrypt and decrypt front-end model dataKnockout.js 加解密前端模型数据
【发布时间】:2013-04-08 10:57:02
【问题描述】:

在使用 knockout.js 和 knockout.mapping 时,我将模型数据传递到视图并使用“@Html.Raw(Json.Encode(Model));”将其存储为 Javascript 变量。我的问题是,加密和解密模型数​​据数组的最有效方法是什么,防止用户通过前端查看它?提前致谢!

【问题讨论】:

  • 为什么要同时隐藏和公开数据?如果客户需要它,那么它必须是可读的,这样你就不能把它隐藏在一点加密后面。如果客户不需要看,就不要给他们。
  • 模型数据必须作为前端 JavaScript 变量使用和传递,从这里敲除利用编码的模型属性值作为其视图模型数据。

标签: c# asp.net-mvc-3 razor knockout.js knockout-mapping-plugin


【解决方案1】:

如果其敏感数据不发送到客户端,则将其放在服务器端用户会话中

如果将其发送给客户端非常重要,则使用 cookie,加密 cookie 并将其保存在客户端,在收到请求后,提取、解密 cookie。

现在,如果您真的希望您当前的代码能够正常工作,那么请像这样加密您的模型属性

public class Sensitive{
 public String Name{  
   set{
    this.Name= YourEncryptionFunc(value)
   }
  get{
   return DecryptFunc(this.Name);
  }
  }
}

序列化这个类并发送给客户端

【讨论】:

    猜你喜欢
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多