Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在angular 5中安全地存储localstorage_Javascript_Angular_Typescript_Security_Local Storage - Fatal编程技术网

Javascript 如何在angular 5中安全地存储localstorage

Javascript 如何在angular 5中安全地存储localstorage,javascript,angular,typescript,security,local-storage,Javascript,Angular,Typescript,Security,Local Storage,是否有任何方法可以安全地存储localstorage,如加密和解密localstorage数据。我不希望其他用户操纵localstorage数据。 如果localstorage无法做到这一点,那么在客户端存储数据的其他方法是什么 我见过websql,但这也很容易通过在控制台中编写查询来操作 注意:您能提供Angular 2+的解决方案吗 不,没有任何方法可以在客户端存储客户端无法操作的数据 在angular中,您可以将数据保存在服务中,但如果用户刷新浏览器,则会清除这些数据。不,没有任何方法将数

是否有任何方法可以安全地存储localstorage,如加密和解密localstorage数据。我不希望其他用户操纵localstorage数据。 如果localstorage无法做到这一点,那么在客户端存储数据的其他方法是什么

我见过websql,但这也很容易通过在控制台中编写查询来操作

注意:您能提供Angular 2+的解决方案吗

不,没有任何方法可以在客户端存储客户端无法操作的数据

在angular中,您可以将数据保存在服务中,但如果用户刷新浏览器,则会清除这些数据。

不,没有任何方法将数据存储在客户端,客户端将无法操作这些数据


在angular中,您可以在services中保存数据,但如果用户刷新浏览器,则会清除该数据。

与另一个答案相反,您可以安全地将任何值存储在客户端中,这里的安全性是指客户端不知道该值和/或无法修改该值。存储机制可以是localStorage、websql或其他任何形式。问题是Javascript代码也不能读取和/或修改这样的值,因为显然Javascript是您想要保护这些数据的客户端

如果您有一个服务器端密钥,您可以使用它来加密发送到客户端的任何数据,以确保其机密性和/或签名完整性。这就是Rails这样的框架在默认情况下处理会话的方式,没有服务器端持久性,而且仍然相对安全

请注意,仅在服务器上加密cookie不一定会对其内容进行身份验证。请参见“已验证的加密”,而且这样的cookie也容易受到重播攻击,您可以使用时间戳或nonce对其进行攻击。如果你需要的话,你必须关心前向保密。所以简而言之,你必须自己处理事情,这并不简单,但也不是不可能


如果只对数据进行签名而不加密,Javascript可能可以访问数据,但仍然无法修改。

与另一个答案相反,您可以安全地将任何值存储在客户端中,这里的安全是指客户端不知道该值和/或无法修改该值。存储机制可以是localStorage、websql或其他任何形式。问题是Javascript代码也不能读取和/或修改这样的值,因为显然Javascript是您想要保护这些数据的客户端

如果您有一个服务器端密钥,您可以使用它来加密发送到客户端的任何数据,以确保其机密性和/或签名完整性。这就是Rails这样的框架在默认情况下处理会话的方式,没有服务器端持久性,而且仍然相对安全

请注意,仅在服务器上加密cookie不一定会对其内容进行身份验证。请参见“已验证的加密”,而且这样的cookie也容易受到重播攻击,您可以使用时间戳或nonce对其进行攻击。如果你需要的话,你必须关心前向保密。所以简而言之,你必须自己处理事情,这并不简单,但也不是不可能



如果您只对数据进行签名而不加密,Javascript可能可以访问数据,但仍然无法修改。

可能重复@TomaszKula nice thread linked,thx用于共享。@TomaszKula,所以您说这个问题是重复的。我没有从你的共享链接中得到任何答案。你能告诉我如何保护本地存储吗。如果你不知道,就离开它。没问题。@JSSA它确实提供了答案,请仔细阅读。@LazarLjubenović是的,我读了答案。从这个答案中,我理解的是,他们说不要使用Javascript加密和WebCryptoAPI,但这还没有出现。我没有得到答案,比如使用这个库或者这个方法来保护本地存储。这就是我想要的。可能重复@TomaszKula nice thread linked,thx用于共享。@TomaszKula,所以你说这个问题是重复的。我没有从你的共享链接中得到任何答案。你能告诉我如何保护本地存储吗。如果你不知道,就离开它。没问题。@JSSA它确实提供了答案,请仔细阅读。@LazarLjubenović是的,我读了答案。从这个答案中,我理解的是,他们说不要使用Javascript加密和WebCryptoAPI,但这还没有出现。我没有得到答案,比如使用这个库或者这个方法来保护本地存储。这就是我想要的谢谢你的回答欢迎。如果您满意,请选择此作为答案。@KAMRULHASANSHAHED localstorage数据在您关闭浏览器之前可以访问。用户的刷新不会影响本地存储。@Suvethanantha我说过,angular service中保存的数据在浏览器刷新后会被清除,而不是本地存储数据。哦,好吧,很抱歉,我把angular dude的回答搞错了,欢迎。如果您满意,请选择此作为答案。@KAMRULHASANSHAHED
在关闭浏览器之前,可以访问本地存储数据。用户的刷新不会影响本地存储。@SuvethanNantha我说过,在浏览器刷新非本地存储数据后,angular service中保存的数据将被清除。哦,好吧,对不起,我弄错了