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

Javascript 删除本地存储数据的所有方法是什么?,javascript,php,security,credentials,web-storage,Javascript,Php,Security,Credentials,Web Storage,我的核心问题是,有哪些方法可以从客户端浏览器中删除window.localStorage数据(而不是window.sessionStorage)。我知道的一种方法是转到客户端控制台并键入localStorage.clear() 我正在构建一个web应用程序,它使用HTML本地存储来替换PHP会话和cookie 我有一个web应用程序可以执行以下操作: 用户从服务器请求网页 服务器使用JavaScript响应页面以删除客户端的本地存储数据(电子邮件和密码)。密码实际上是一个GUID字符串 然后,

我的核心问题是,有哪些方法可以从客户端浏览器中删除
window.localStorage
数据(而不是
window.sessionStorage
)。我知道的一种方法是转到客户端控制台并键入
localStorage.clear()


我正在构建一个web应用程序,它使用HTML本地存储来替换PHP会话和cookie

我有一个web应用程序可以执行以下操作:

  • 用户从服务器请求网页
  • 服务器使用JavaScript响应页面以删除客户端的本地存储数据(电子邮件和密码)。密码实际上是一个GUID字符串
  • 然后,JavaScript脚本将带有电子邮件和密码的post请求发送到服务器。如果用户是新用户,电子邮件和密码变量可能为空;如果用户是返回用户,则可能包含值
  • 服务器检查用户是否存在
  • 如果用户不存在,则服务器发送登录页面
  • 如果用户存在,则服务器发送请求的页面
  • 一旦用户准备就绪,每次用户从web服务器请求任何web页面时,都会发生两件事:1)每次用户请求页面时,请求将包含用户的本地存储数据(电子邮件和密码)2)每次用户请求页面时,服务器都会查询数据库以检查用户是否存在 我的问题是: 1) 安全问题是什么 2) 有更好的办法吗?我不想使用会话或cookies

    我正在构建一个web应用程序,它使用HTML本地存储来替换PHP会话和cookie

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

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

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

    然后,JavaScript脚本将带有电子邮件和密码的post请求发送到服务器。

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

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

    诀窍是阻止其他人访问本地存储。要非常清楚页面上包含哪些脚本。(例如,如果您包括一些分析或广告脚本,它将可以访问该本地存储数据。)

    同样,使用HTTPS防止人们在传输过程中篡改页面


    更好的方法是使用具有循环会话ID的会话。“密码”将成为会话ID,并针对每个请求进行更改。这比期望很少更改的用户提供弱密码要安全得多。实际用户的用户名和密码只通过网络发送一次。

    听起来好像有很多额外的凭证传递。查看代币。本地存储本身也不错。为什么不想使用会话或cookie?他们可以很好地处理这些需求。另外,你不会有每次请求都进行身份验证的开销。如果你想安全地实现这一点,你会发现自己在重新发明会话。我不认为这个问题有多广泛。它详细地概述了问题,提出了明确而具体的问题,作为后续问题,它要求对答案进行完整的解释。