删除本地存储数据的方法有哪些?
What are all the methods to delete local-storage data?
我的核心问题是从客户端浏览器中删除 window.localStorage
数据(而不是 window.sessionStorage
)的可能方法有哪些。我知道的一种方法是转到客户端的控制台并键入 localStorage.clear()
.
我正在构建一个使用 HTML-local-storage 来替换 PHP 会话和 cookie 的网络应用程序。
我有一个执行以下操作的网络应用程序:
- 用户向服务器请求网页
- 服务器响应页面 JavaScript 以删除客户端的本地存储数据(电子邮件和密码)密码实际上是一个 GUID 字符串。
- JavaScript 脚本然后将电子邮件和密码作为 post 请求发送到服务器。如果用户是新用户,则电子邮件和密码变量可以为空,或者如果用户是回访用户,则可以包含值。
- 服务器检查用户是否存在。
- 如果用户不存在,则服务器发送登录页面
- 如果用户存在,则服务器发送请求的页面
- 一旦用户准备就绪,每次用户从 Web 服务器请求任何网页时,都会发生两件事:1) 每次用户请求页面时,请求将包含用户的本地存储数据(电子邮件和密码) 2)每次用户请求页面时,服务器都会查询数据库以检查用户是否存在。
我的问题是:
1)安全问题是什么
2)有没有更好的方法?我不想使用会话或 cookie。
I'm building a web app that uses HTML-local-storage to replace PHP sessions and cookies.
本地存储是一种旨在替代两者的解决方案。本地存储用于存储客户端数据。 Cookie 用于在 HTTP 级别识别客户端。 PHP 会话用于在服务器端存储数据,通常由 cookie 键控。
The password is actually a GUID string.
GUID 并不是真正随机的。根据所使用的算法,GUID 的一部分是服务器生成的 MAC 地址。接下来,还使用了时间戳。你剩下的熵不多了。另见:Are GUIDs good passwords?
The JavaScript script then sends as a post-request with the email and password to the Server.
...
Every time the user requests a page, the request will contain the user's local storage data (email and password)
像这样通过网络发送密码的问题是,您为攻击者提供了可预测且频繁的凭据传递。至少,这必须通过安全通道 (HTTPS) 完成。不过到那时,您的安全性还算不错。
诀窍是防止其他人访问本地存储。非常清楚您在页面上包含哪些脚本。 (例如,如果您包含一些分析或广告脚本,它将可以访问该本地存储数据。)
再一次,使用 HTTPS 来防止人们在传输过程中摆弄页面。
更好的方法是使用具有循环会话 ID 的会话。 "password" 成为会话 ID,它会随着每个请求而变化。这比期望来自很少更改的用户的弱密码要安全得多。实际用户的用户名和密码仅通过网络发送一次。
我的核心问题是从客户端浏览器中删除 window.localStorage
数据(而不是 window.sessionStorage
)的可能方法有哪些。我知道的一种方法是转到客户端的控制台并键入 localStorage.clear()
.
我正在构建一个使用 HTML-local-storage 来替换 PHP 会话和 cookie 的网络应用程序。
我有一个执行以下操作的网络应用程序:
- 用户向服务器请求网页
- 服务器响应页面 JavaScript 以删除客户端的本地存储数据(电子邮件和密码)密码实际上是一个 GUID 字符串。
- JavaScript 脚本然后将电子邮件和密码作为 post 请求发送到服务器。如果用户是新用户,则电子邮件和密码变量可以为空,或者如果用户是回访用户,则可以包含值。
- 服务器检查用户是否存在。
- 如果用户不存在,则服务器发送登录页面
- 如果用户存在,则服务器发送请求的页面
- 一旦用户准备就绪,每次用户从 Web 服务器请求任何网页时,都会发生两件事:1) 每次用户请求页面时,请求将包含用户的本地存储数据(电子邮件和密码) 2)每次用户请求页面时,服务器都会查询数据库以检查用户是否存在。
我的问题是: 1)安全问题是什么 2)有没有更好的方法?我不想使用会话或 cookie。
I'm building a web app that uses HTML-local-storage to replace PHP sessions and cookies.
本地存储是一种旨在替代两者的解决方案。本地存储用于存储客户端数据。 Cookie 用于在 HTTP 级别识别客户端。 PHP 会话用于在服务器端存储数据,通常由 cookie 键控。
The password is actually a GUID string.
GUID 并不是真正随机的。根据所使用的算法,GUID 的一部分是服务器生成的 MAC 地址。接下来,还使用了时间戳。你剩下的熵不多了。另见:Are GUIDs good passwords?
The JavaScript script then sends as a post-request with the email and password to the Server. ...
Every time the user requests a page, the request will contain the user's local storage data (email and password)
像这样通过网络发送密码的问题是,您为攻击者提供了可预测且频繁的凭据传递。至少,这必须通过安全通道 (HTTPS) 完成。不过到那时,您的安全性还算不错。
诀窍是防止其他人访问本地存储。非常清楚您在页面上包含哪些脚本。 (例如,如果您包含一些分析或广告脚本,它将可以访问该本地存储数据。)
再一次,使用 HTTPS 来防止人们在传输过程中摆弄页面。
更好的方法是使用具有循环会话 ID 的会话。 "password" 成为会话 ID,它会随着每个请求而变化。这比期望来自很少更改的用户的弱密码要安全得多。实际用户的用户名和密码仅通过网络发送一次。