我正在开发AngularJs应用程序。
我将数据存储在
中的localStorage中localStorageService.set("selectedUserCategory",'Circle');
现在,当我看到浏览器的localStorage数据
-应用程序
---- LocalStorage
我发现我的key-value
为
selectedUserCategory:“圈子”
但是此数据是可编辑的。即
如果我通过浏览器本身将数据从Circle
编辑到Ci
,它将保存为Ci
,这可能是有害的,因为任何人都可以从那里更改数据。
因此,我想到了使其成为只读。有什么办法吗?
还有什么方法可以保护我的localStorage数据?
由于数据易于读取,我应该对其进行加密,然后保存??
答案 0 :(得分:1)
正如@Carcigenicate所说,一旦将其放在浏览器上,没有什么是安全的。您可以执行的另一步骤是将加密数据存储在本地存储中。因此,普通用户难以编辑。而且,如果他进行编辑,它将无法解密,因此您可以使以下任务无效。
为进一步防止,您可以混淆/最小化您的javascript文件,因此普通用户很难使用您的加密算法。
或者,如果可能的话,使用公共密钥从服务器加密值,则只有解密逻辑位于前端。因此,即使用户获取了您的数据(甚至甚至还有公钥),他也将无法对其进行加密(没有您的私钥),因此他无法更改数据。
JSON web token使用此原理,请访问https://jwt.io/