删除本地存储数据的所有方法是什么?


What are all the methods to delete local-storage data?

我的核心问题是从客户端浏览器中删除window.localStorage数据(而不是window.sessionStorage)的可能方法是什么。我知道的一种方法是进入客户端的控制台并输入localStorage.clear()


我正在构建一个web应用程序,使用html本地存储来取代PHP会话和cookie。

我有一个web应用程序,做以下事情:

  1. 用户向服务器请求网页
  2. 服务器用JavaScript响应一个页面,删除客户端的本地存储数据(电子邮件和密码),密码实际上是一个GUID字符串。
  3. JavaScript脚本然后发送邮件和密码的post-request到服务器。如果用户是新用户,则email和password变量可能为空;如果用户是返回用户,则可能包含值。
  4. 服务器检查用户是否存在
  5. 如果用户不存在,则服务器发送登录页面
  6. 如果用户存在,则服务器发送请求的页面
  7. 一旦用户准备好了,每次用户从web服务器请求任何网页时都会发生两件事:1)每次用户请求页面时,请求将包含用户的本地存储数据(电子邮件和密码)2)每次用户请求页面时,服务器对数据库进行查询以检查用户是否存在。

我的问题是:1)安全问题是什么2)有更好的方法吗?我不想使用会话或cookie

我正在构建一个web应用程序,使用HTML-local-storage来代替PHP会话和cookie。

本地存储是一种旨在取代两者的解决方案。本地存储用于存储客户端数据。cookie用于在HTTP级别识别客户端。PHP会话用于在服务器端存储数据,通常由cookie进行键控。

密码实际上是一个GUID字符串。

guid并不是真正随机的。根据使用的算法,GUID的一部分是生成服务器的MAC地址。接下来,还将使用时间戳。剩下的熵就不多了。参见:guid是好密码吗?

JavaScript脚本然后将带有电子邮件和密码的post-request发送给服务器。…

每次用户请求一个页面时,请求将包含用户的本地存储数据(电子邮件和密码)

像这样通过网络发送密码的问题是,您正在向攻击者提供可预测且频繁的凭据传递。至少,这必须通过安全通道(HTTPS)完成。在这一点上,你的安全并不可怕。

诀窍是阻止其他人访问本地存储。要非常注意页面中包含了哪些脚本。(如果你包含一些分析或广告脚本,例如,它将有权访问本地存储数据。)

同样,使用HTTPS来防止人们篡改传输中的页面。

更好的方法是使用具有旋转会话ID的会话。"密码"将成为会话ID,并根据每个请求进行更改。这比期望从很少更改的用户那里获得弱密码要安全得多。实际用户的用户名和密码只通过网络发送一次。