May 20

登陆验证 - 客户端加密密码 不指定

felix021 @ 2008-5-20 03:01 [IT » 网络] 评论(0) , 引用(0) , 阅读(3979) | Via 本站原创 | |
在没有ssl的主机上如何最大限度保证传输密码安全? 一个很简单的想法是,利用Javascript在客户端进行md5码加密后再传输至服务端,这样不仅可以降低服务器的压力,而且更重要的是传输的是密文,更加安全。

(本文参考 http://hi.baidu.com/qk31/blog/item/b50b78f4db7dc1d9f2d385d5.html)

实现方法:
1. 先下载这个javascript文件:


2. 在你的代码中加入这样一句(src中的值视该文件路径而定):
<script language="javascript" src="md5.js"></script>


3. 把表单写成类似这样的代码:
<form id="form1" onsubmit="pass.value=hex_md5(pass.value)" action="xxx" method="post">
<input type="text" name="pass">
</form>

(3)的代码仅适合IE(IE直接将变量pass同表单中的input name="pass"关联起来了)。
若考虑到兼容性,做如此修改:
<form id="form1" onsubmit="var psw=document.getElementById("pass1");psw.value=hex_md5(psw.value)" action="xxx" method="post">
<input type="text" name="pass" id="pass1">
</form>


如果你想分离脚本也可以这样:
<script language="javascript">
function encrypt(){
  var psw=document.getElementById("pass1");
  psw.value=hex_md5(psw.value)";
}
</script>
<form id="form1" onsubmit="encrypt()" action="xxx" method="post">
<input type="text" name="pass" id="pass1">
</form>




欢迎扫码关注:




转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: https://www.felix021.com/blog/feed.php
Tags: ,
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   *非必须
网址   电邮   [注册]