【发布时间】:2012-08-14 07:34:38
【问题描述】:
我一直在帮助一些人使用他们的电脑并修理它们。其中一个人问我在自动表单字段中存储密码的安全性。我向他们展示了如何从控制台中的简单 jQuery 调用中检索密码的快速技巧。在一些网站上工作时,我一直在试图找出一种方法来阻止使用这个技巧来找出保存的密码是什么。
如果您不知道,要了解我在说什么,请尝试以下操作。
- 使用 jquery(或 jquerify 网站)导航到一个网站,然后打开自动填写表单或填写密码字段。
- 检查元素以显示密码 id 字段或使用 jquery 调用该字段的某种方式
- 在控制台中运行
$('#password').val()之类的内容,然后查看密码显示。
我想知道作为一名网络开发人员是否有某种方法可以防止在我的网站上使用它,但仍然允许使用它来获取网站代码中的字段值。
谢谢。
编辑
从 facebook 自动填写登录信息(出于安全考虑,已涂黑)
然后在 jquerifying 页面并在控制台中运行 $jq('#pass').val() 而不更改任何内容后(密码为安全起见)
用例
用户 1 在公共计算机上,他们允许浏览器保存登录信息
用户 1 离开,用户 2 去同一个站点。浏览器自动填写登录信息
用户 2 运行命令并获得密码的访问权限
【问题讨论】:
-
这只会显示您刚刚输入的密码,因为它在客户端,并且您可能知道您刚刚在框中输入了什么,这并不是真正的安全风险?您无法真正看到其他人在其他计算机上做了什么,但您当然可以看到其他人在自动填充设置中的内容,但这不是您的问题,因为保护他们的私人计算机取决于用户,而不是您.
-
哦,但有点……如果您使用的是共享计算机(这是我的网站通常使用的地方),我想在我的网站上有一些脚本可以防止这从发生。如果您有前一个用户自动填写的密码字段,下一个用户可以使用此技巧找出密码
-
它只会显示当前浏览器会话输入字段(密码)的值
-
除非您可以控制您的用户,否则您无法阻止他们这样做。
-
您可以使用表单元素上的自动完成属性来关闭自动填充。 (这里有一些细节:stackoverflow.com/questions/582244/…)虽然听起来你的里程在旧浏览器上可能会有所不同。