【发布时间】:2015-05-25 21:37:23
【问题描述】:
在单页应用程序中,我想在页面重新加载/刷新期间传递敏感数据。
由于数据是敏感数据,因此不应恢复,例如
- 当用户离开域然后返回时
- 当用户关闭用户代理并重新启动它时,恢复之前的会话
历史
- thirdpartypage.com (移至此处时丢弃数据)
- mypage.com
- thirdpartypage.com (移至此处时丢弃数据)
我的方法是将其存储在sessionStorage。
// On data generation/update
sessionStorage.setItem("data", "DATA");
// ...
// On load (reload)
var data = sessionStorage.getItem("data")
if (data) {
// Initialize application with data
} else {
// Start without
}
不幸的是,在sessionStorage 中,当从我的应用程序的域移动到外部域(以及来回移动到我的应用程序的域)时,数据仍然存在。
我也尝试将其存储在
-
window.name,虽然对于 Chrome 来说这是可以接受的(不会跨域持久化),但 Firefox 可以在其他域中访问数据(IE 未经测试) - 一个短暂的 cookie,但我认为此解决方案不安全
【问题讨论】:
-
只是为了澄清一下,您是在防止来自同一台计算机的未经授权的访问,还是其他什么?
-
是的 Schlaus,我主要想防止来自同一台计算机的未经授权的访问。想象一下,用户正在公共图书馆中使用此应用程序,并且马虎地导航到另一个域而不是注销。
标签: javascript security session reload