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

时间:2015-06-10 00:52:16

标签: javascript php security credentials web-storage

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

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

我有一个执行以下操作的网络应用程序:

  1. 用户从服务器请求网页
  2. 服务器使用JavaScript响应页面以删除客户端的本地存储数据(电子邮件和密码)密码实际上是GUID字符串。
  3. 然后,JavaScript脚本将邮件和密码作为后请求发送到服务器。如果用户是新用户,则电子邮件和密码变量可以为空,如果用户是返回用户,则可以包含值。
  4. 服务器检查用户是否存在。
  5. 如果用户不存在,则服务器发送登录页面
  6. 如果用户存在,则服务器发送请求的页面
  7. 一旦用户好好去,每当用户从Web服务器请求任何网页时,就会发生两件事情:1)每次用户请求页面时,请求都将包含用户的本地存储数据(电子邮件和密码)2)每次用户请求页面时,服务器都会对数据库进行查询以检查用户是否存在。
  8. 我的问题是: 1)什么是安全问题 2)有更好的方法吗?我不想使用Sessions或cookies。

1 个答案:

答案 0 :(得分:2)

  

我正在构建一个使用HTML本地存储替换PHP会话和cookie的Web应用程序。

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

  

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

GUID并不是随机的。根据所使用的算法,GUID的一部分是生成服务器的MAC地址。接下来,还使用时间戳。你没有太多的熵。另见:Are GUIDs good passwords?

  

然后,JavaScript脚本将邮件和密码作为后请求发送到服务器。   ...

     

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

通过这种方式发送密码的方法是,您可以为攻击者提供可预测且频繁的凭据传递。至少,这必须通过安全通道(HTTPS)完成。那时候,你的安全并不可怕。

诀窍是阻止他人访问本地存储。要非常了解您在页面上包含的脚本。 (例如,如果您包含某些分析或广告脚本,则可以访问该本地存储数据。)

再次使用HTTPS来防止人们摆弄在途中的页面。

更好的方法是使用具有轮换会话ID的会话。 “密码”成为会话ID,并且每个请求都会更改。这比预期很少更改的用户的弱密码安全得多。实际用户的用户名和密码只能通过网络发送一次。