localStorage可以被客户修改吗?

uni*_*ion 8 html html5 local-storage

我正在尝试使用localStorage作为cookie替换(恶意cookie),以便用户可以在我运营的网站上保持登录状态.

我计划迄今是保存用户在localStorage的用户名,并有现场检查东西是否在本地存储,如果有什么在本地存储,它会在localStorage的数据推到通过POST的PHP文件和用户推到启动一个新的PHP会话并将它们返回到原来的位置.

虽然我有顾虑,但我知道可以查看localStorage,在这种情况下,加密数据服务器端可能会有所帮助.

但是可以修改LocalStorage数据吗?如果没有,即使没有加密,也可以这样做,但很明显,如果用户可以修改localStorage数据,他们就可以访问其他人的帐户,这是您可以想象的,这不是一件好事.

我有疑问,因为JavaScript可以由浏览器中的客户端执行,即:

javascript:alert("hello");
Run Code Online (Sandbox Code Playgroud)

难道不可能找到localStorage的var名称并重置它的值吗?

javascript:localStorage.setItem('sessionusername','superadmin');
Run Code Online (Sandbox Code Playgroud)

基本上,我问:可以在客户端修改HTML5本地存储数据吗?

干杯,Karan :)

Izz*_*zzy 12

有一些插件,例如用于Firefox的Foundstone HTML5 Local Storage Explorer,它不仅允许用户localStorage全局浏览,还可以修改其内容:

Local Storage Explorer

所以我不相信没有人可以访问它或没有人可以改变它.至少从客户那里,可以轻松实现.从另一个网站,它可能更棘手,当然会涉及"安全漏洞",因为它不是预期的用途.

更新:同时,至少在Firefox中,你甚至不需要任何插件.只需按Ctrl+ Shift+ I,选择存储选项卡,然后在最左侧的列中选择本地存储 - 您可以在其中查看甚至编辑您在前台选项卡中获得的站点的本地存储:

LocalStorage浏览器
Firefox内置的本地存储浏览器(点击图片查看大图)


小智 10

本地存储绑定到域,因此在常规情况下,用户无法在任何其他域或localhost上更改它.

它也受每个用户/浏览器的约束,即没有第三方可以访问本地存储.

然而,本地存储最终是用户文件系统上的文件,可能被黑客入侵.