【发布时间】:2013-05-25 15:46:46
【问题描述】:
我有一个只对我们的用户锁定的公司 Intranet。一位老板要求通过我们的内部网,您必须能够单击自己进入我们的其他 Web 服务之一。我已经通过使用这个“解决”了这个问题:
<script type="text/javascript">
function autoClick () {
document.forms["PM"].submit();
}
window.onload = autoClick;
</script>
<form id='PM' action='https://ourwebapp.corporate.com/login' method='post'>
<label for='username'></label>
<input id='username' type='hidden','text' name='username' value='serviceaccountusername'/>
<label for='password'></label>
<input id='password' type='hidden','password' name='password' value='Serviceaccountpassword'/>
<input type='hidden','submit' value='Log in' />
</form>
当用户点击时,这会将用户直接发送到其他 Web 服务。我知道这是一个丑陋的黑客,绝对不应该这样做。但是,我觉得我别无选择。随便。
我仍然想加密密码,以防任何恶意用户查看代码并以纯文本形式获取服务帐户密码。
该网站目前支持 java 脚本和 HTML。我想java脚本是这里选择的代码,我将如何完成这个?任何提示或解决方案?
【问题讨论】:
-
我们是在谈论您的用户密码吗?您是否以明文形式存储它们?
-
我认为您尝试做的事情没有意义。无论你用什么方法来解密它都会发生在浏览器上,攻击者可以只看那个代码并自己解密。
-
我们将为此使用服务帐户,而不是用户特定帐户。它仅在仪表板上显示“公司公开”信息。但我仍然不希望用户访问服务帐户,因为它与我们的 Active Directory 绑定。
-
您可以更改其他网络应用的登录脚本吗?如果是这样,您可以发送一次性令牌而不是实际密码
-
这不是有效的标记 type='hidden','text'。至于加密密码,您可以尝试 base64 编码,但高级用户仍然可以轻松破解它。就像@IssacCambron 说的那样,如果你在浏览器中进行加密、解密,就可以破坏加密了。
标签: javascript html encryption passwords