我有一个专门用于内部网络的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应用程序一致......
答案 0 :(得分:1)
您可以通过标题将页面呈现为“无法访问”,并验证这是否适用于您的目标浏览器。请参阅:Will web browsers cache content over https
您可以通过故意清除缓存,验证缓存目录是否为空,然后运行您的用例来查看遗留的痕迹来测试。
答案 1 :(得分:1)
这是一种非常糟糕的做法,风险有限,因为您在“内部”使用它。 但是,如果您的内部网络位于Windows域中,则可以使用Windows身份验证来验证用户凭据。
另一种选择是使用加密的cookie。
这些选项中的任何一个都比你正在做的更好。
答案 2 :(得分:0)
如果我是你,我会避免在javascript中存储密码,如果每个人都知道,你就没有密码功能。
我该怎么办
我会创建一个页面,它将返回我需要的数据,我会从ActiveX控件调用该页面。问题解决了。
答案 3 :(得分:0)
首先,密码应加密,否则,加密和盐渍(可能多次)。
您是否可以使用SESSION跟踪登录用户而不是存储密码? 如果由于某种原因您必须存储密码,请在SESSION或数据库中执行此操作。