这有多糟糕?在javascript中存储密码

时间:2011-06-01 18:03:08

标签: javascript asp.net security

我有一个专门用于内部网络的Web应用程序。

当用户登录(使用标准POST,asp.net,HTTPS)时,我需要存储用户名和密码,然后在一个特定页面上的javascript中使用它。 (为了访问和ActiveX控件)

显而易见的问题是,当您在该页面上显示“查看源”时,您可以看到用户名和密码。我认为没有办法避免这种情况。

我的问题是:一旦用户注销...... IE7或IE8是否存储了整个页面信息?如果是这样,我该怎么看呢? (以验证是否可以轻松找到该用户名和密码)

如果整个页面内容没有缓存/存储在历史记录中......那么在javascript中使用用户名/ pw并不是那么大的安全性后膛,因为用户必须登录才能获得数据。我是对的吗?

提前感谢您的想法/意见!

安德鲁

阐述: 我必须创建一个ActiveX对象,...然后在javascript中连接到它...我将密码存储在Session ...但我需要将它们放在javascript中以连接到控件:ie

myactivexcontrol.credentials.username = "username";
myactivexcontrol.credentials.password = "password";

myactivexcontrol.connect();

用户名和密码与登录Web应用程序一致......

4 个答案:

答案 0 :(得分:1)

您可以通过标题将页面呈现为“无法访问”,并验证这是否适用于您的目标浏览器。请参阅:Will web browsers cache content over https

您可以通过故意清除缓存,验证缓存目录是否为空,然后运行您的用例来查看遗留的痕迹来测试。

答案 1 :(得分:1)

这是一种非常糟糕的做法,风险有限,因为您在“内部”使用它。 但是,如果您的内部网络位于Windows域中,则可以使用Windows身份验证来验证用户凭据。

另一种选择是使用加密的cookie。

这些选项中的任何一个都比你正在做的更好。

答案 2 :(得分:0)

如果我是你,我会避免在javascript中存储密码,如果每个人都知道,你就没有密码功能。

我该怎么办

我会创建一个页面,它将返回我需要的数据,我会从ActiveX控件调用该页面。问题解决了。

答案 3 :(得分:0)

首先,密码应加密,否则,加密和盐渍(可能多次)。

您是否可以使用SESSION跟踪登录用户而不是存储密码? 如果由于某种原因您必须存储密码,请在SESSION或数据库中执行此操作。