这有多糟糕?将密码存储在javascript中
How bad is this? storing password in javascript
我有一个设计用于内部网络的web应用程序。
当用户登录时(使用标准POST、asp.net、HTTPS),我需要存储用户名和密码,然后在一个特定页面上以javascript形式使用。(为了访问和ActiveX控件)
这样做的明显问题是,当你在该页面上"查看源代码"时,你可以看到用户名和密码。我认为没有办法避免这种情况。
我的问题是:一旦用户注销…IE7或IE8会存储整个页面的信息吗?如果是,我将如何看待它?(验证用户名和密码是否容易找到)
如果整个页面内容未缓存/存储在历史记录中。。。。那么在javascript中使用username/pw并不是一个很大的安全漏洞,因为用户必须登录才能获得数据。我说得对吗?
提前感谢您的想法/评论!
Andrew
阐述:我必须创建一个ActiveX对象,。。。然后用javascript连接到它。。。我将密码存储在会话中。。。但我需要将它们放在javascript中,以便连接到控件:即
myactivexcontrol.credentials.username = "username";
myactivexcontrol.credentials.password = "password";
myactivexcontrol.connect();
用户名和密码与web应用程序的登录一致。。。
您可以通过标题将页面渲染为"不可访问",并验证这在目标浏览器上是否有效。请参阅:web浏览器是否会通过https 缓存内容
您可以通过故意清除缓存来测试这一点,验证缓存目录是否为空,然后运行用例以查看留下了哪些跟踪。
这是一种非常糟糕的做法,风险有限,因为您在"内部"使用它。但是,如果您的内部网络位于windows域上,则可以使用windows身份验证来验证您的用户凭据。
另一种选择是使用加密的cookie。
这两种选择中的任何一种都比你正在做的更好。
如果我是你,我会避免用javascript存储密码,那么如果每个人都知道,你就没有密码功能。
我该怎么做
我会创建一个页面,返回我需要的数据,我会从ActiveX控件调用那个页面。问题解决了。
首先,密码应该加密,如果没有加密,则应该进行散列和加盐处理(可能多次)。
您可以不使用SESSION来跟踪登录的用户而不是存储密码吗?如果出于某种原因必须存储密码,请将其存储在SESSION或数据库中。
- 想要将密码类型存储在 JavaScript 变量中
- 将密码存储在Javascript变量中的安全含义是什么
- 将客户端生成的密码短语存储在chrome.storage.local中的安全含义
- 在客户端JavaScript中存储Web应用程序的用户密码 - 这是安全的吗?
- 如何存储我的节点 mysql 密码而不是纯文本
- 如何安全地将密码存储在angularjs中
- HTML5 本地存储不存储密码框中的值
- 如何使浏览器在登录后提供密码和电子邮件存储
- 如何对本地存储数据进行密码保护
- 会话存储中的密码
- 使用js比较存储在PHP会话变量中的密码与新输入的密码
- 如何在使用不同的身份验证机制时安全地存储密码
- 在不设置服务的情况下安全地存储数据库密码
- 存储登录到第三方api的密码
- 如何停止浏览器存储密码值
- 用户登录后哈希和存储密码在mysql节点bcrypt的最佳实践
- 使用Node.js和MongoDB存储密码
- 如何在数据库中存储CryptoJS加密密码
- 在安装时将用户登录/密码输入存储在Greasemonkey脚本中
- HTML5安全存储用户名/密码