2013-05-30 185 views
0

我有一個企業內部網絡鎖定只有我們的用戶。一位老闆要求通過我們的內聯網,您必須能夠點擊自己進入我們的其他網絡服務之一。我已經使用這個「解決」的問題:加密形式的密碼? html或javascript

<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> 

此點擊進入時,直接向用戶發送到其他網絡服務。我知道它是一個醜陋的黑客,絕對不應該這樣做。不過,我覺得我的選擇很少。隨你。

我仍然希望在案件的任何惡意用戶看代碼,並採取以純文本的服務帳戶密碼來加密密碼。

該網站目前支持Java腳本和HTML。我猜這是java腳本是在這裏選擇的代碼,我將如何實現這一目標?任何提示或解決方案?

+0

我們是在談論你的用戶的密碼?你將它們存儲在明文中嗎? – Beat

+2

我不認爲你想要做什麼是有道理的。無論用什麼方法解密它,都會在瀏覽器上發生,攻擊者可以只看*那*代碼,並且它自己解密。 – 2013-05-30 07:09:21

+0

我們將爲此使用serviceaccount,而不是用戶特定的帳戶。它只在儀表板上顯示「公司公開」信息。但我仍然不希望用戶訪問服務帳戶,因爲它與我們的Active Directory綁定。 – Plindgren

回答

1

最好的方法,一如既往,使用TLS。這將保護數據,包括傳輸中的密碼。如果服務器不支持此功能,則可以使用自簽名證書設置SSL代理。

沒有TLS無法完全抵禦攻擊,因爲任何網頁 - 包括JavaScript - 可能被攻擊者截獲和修改。