我的核心问题是从客户端浏览器中删除window.localStorage
数据(不是window.sessionStorage
)的可能方法是什么。我知道的一种方法是转到客户端的控制台并输入localStorage.clear()
。
我正在构建一个使用HTML本地存储来替换PHP会话和cookie的Web应用程序。
我有一个执行以下操作的网络应用程序:
我的问题是: 1)什么是安全问题 2)有更好的方法吗?我不想使用Sessions或cookies。
答案 0 :(得分:2)
我正在构建一个使用HTML本地存储替换PHP会话和cookie的Web应用程序。
本地存储是一种旨在取代两者的解决方案。本地存储用于存储客户端数据。 Cookie用于识别HTTP级别的客户端。 PHP会话用于存储数据服务器端,通常由cookie键控。
密码实际上是一个GUID字符串。
GUID并不是随机的。根据所使用的算法,GUID的一部分是生成服务器的MAC地址。接下来,还使用时间戳。你没有太多的熵。另见:Are GUIDs good passwords?
然后,JavaScript脚本将邮件和密码作为后请求发送到服务器。 ...
每次用户请求页面时,请求都将包含用户的本地存储数据(电子邮件和密码)
通过这种方式发送密码的方法是,您可以为攻击者提供可预测且频繁的凭据传递。至少,这必须通过安全通道(HTTPS)完成。那时候,你的安全并不可怕。
诀窍是阻止他人访问本地存储。要非常了解您在页面上包含的脚本。 (例如,如果您包含某些分析或广告脚本,则可以访问该本地存储数据。)
再次使用HTTPS来防止人们摆弄在途中的页面。
更好的方法是使用具有轮换会话ID的会话。 “密码”成为会话ID,并且每个请求都会更改。这比预期很少更改的用户的弱密码安全得多。实际用户的用户名和密码只能通过网络发送一次。