生活随笔
收集整理的這篇文章主要介紹了
WEB密码安全输入控件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在沒有使用ssl加密的系統中登錄,登錄的用戶名和密碼都是在網絡中通過明文傳送,安全性較低,可以使用插件形式對密碼進行加密后再傳送,使用鍵盤鉤子攔截鍵盤輸入內容,防止被其它工具記錄,類似銀行網銀安全輸入控件。
?????? 為了保證每次加密的結果的不同(防止跨域提交或截取加密信息偽提交),每次加密的key的一部分由服務器端隨機生成,在頁面加載的時候由服務器端生成通過頁面js腳本傳遞給密碼輸入控件,密碼輸入控件根據控件內置的密碼和傳入的密碼進行加密(如DES),服務器接收后再進行解密得到原密碼
????????? 使用密碼插件可以有效防止密碼及關健信息在網絡上被截取,導致賬戶密碼丟失,保證服務器至用戶端的安全傳輸。
?????? 如插件中內置密碼為abc,服務器端隨機生成的密碼為1346,那么插件在加密時即使用 abc1346密碼對用戶輸入的密碼進行加密,傳輸時數據被截取后只能獲取的隨機密碼1346,而沒有完整密碼不能對加密的密文進行解密,而且加密的密文只對本次登錄有效,而不能通過程序模擬登錄,因為下一次的隨機密碼改變導致加密密文改變。有效保證登錄的安全。
?????? 如需破解加密的密碼就需要破解登錄插件內置密匙及加密算法,一方面增加了獲取信息的成本,一定程度上提升密碼的安全性。
????????? 通過鍵盤鉤子和隨機密碼防止重要信息被非法獲取,不僅可用于用戶名密碼加密也可以用于其它需要加密的信息的錄入
?html代碼
[html] view plaincopy
<HTML>??<head>??</head>??<BODY>??<br?/><br?/>??<OBJECT?id="pwd1"?classid="clsid:57DA8346-C0C5-428F-A2B7-ED912C13D7FF"?width="500"?height="24">??<param?name="regsn"?value=""?/>??<param?name="PasswordChar"?value="#"?/>??<param?name="ukey"?value="1234"?/>??<param?name="fontsize"?value="14"?/>??</OBJECT>????<OBJECT?id="pwd2"?classid="clsid:57DA8346-C0C5-428F-A2B7-ED912C13D7FF"?width="500"?height="20">??<param?name="regsn"?value=""?/>??<param?name="PasswordChar"?value=""?/>??<param?name="ukey"?value="1234"?/>??</OBJECT>??<br?/>??<input?type="button"?value="獲取加密密碼"?style="float:left;"?onclick="mm1.value=pwd1.Value"?/>??<input?type="button"?style="margin-left:500px;float:left;"?value="獲取加密密碼2"?onclick="mm2.value=pwd2.Value"?/>??<br?clear="both"?/>??<input?type="text"?style="width:500px"?id="mm1"?/>??<input?type="text"?style="width:500px"?id="mm2"?/>????</BODY>??</HTML>??
?
ekey 可以使用guid、時間等,不重復使用
服務器驗證時用保存在session中的ekey進行密碼解密,防止使用過期的ekey加密的信息登錄
?
原文轉載至:http://blog.csdn.net/ldevs/article/details/16809267
總結
以上是生活随笔為你收集整理的WEB密码安全输入控件的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。