5

我正在使用客户端 JavaScript 来使用 Web Storage 存储一些变量,更具体地说,是 sessionStorage。

但我不确定用户是否可以以任何方式简单地修改这些变量的值?如果是这样,请举例说明这种情况是如何发生的。

4

3 回答 3

7

是的,用户可以随时修改自己存储的值。我可以立即想到三种方法:

  • 使用 Web 浏览器控制台运行修改存储的 JS 命令
  • 使用客户端指定的 DNS 设置客户端托管站点,以运行他们自己的代码来修改存储
  • 打开本地存储文件并手动编辑它们

重要的是您不信任客户端存储。如果您要将会话信息存储在客户端上,那么您需要某种方式让您的服务器端代码验证信息未被篡改。还有其他原因您可能不想在客户端存储此信息(例如隐私),但假设您已经考虑过这些,您仍然需要确保您信任客户端的数据或确保信任没有必要。

于 2013-02-10T18:58:04.993 回答
2

在您的情况下不完全确定,但作为规则会话应始终在服务器端而不是客户端处理。会话的要点之一是出于安全原因从客户端完全删除该数据

于 2013-02-10T18:48:28.130 回答
1

完成 hrunting 和 tucker 的回答后,用户甚至可以通过简单地访问浏览器开发工具(通常是 F12)来更改 sessionStorage。

于 2013-02-10T19:07:37.397 回答