/ md5

一种新型Web表单登录加密

现状:

1.明文传输可能会被局域网内的人嗅探,即使使用了MD5之类的加密,嗅探者仍然可以使用嗅探到的MD5来登录。

2.用https又稍显麻烦,如果是虚拟主机的话可能也不支持。

解决方案:

在用户登录时将输入的密码和验证码合并并计算MD5,最终传输的是用户名和合并之后的MD5。

测试伪代码:

newpwd = md5(md5(pwd)+verify); //这里可以是任意自定义的加密方法 $.post("login.php","username="+usr+"&pwd="+newpwd);

原理解析:

1.验证码是用图片来展示的,黑客无法获取到该图。

2.每次登录产生的验证码不同,所提交的密文也不同,即使黑客嗅探到MD5也不能通过该MD5登录。

可行性分析:

后台验证方面也不需要做太多改动,稍微修改下判断逻辑就可以了。

原来的代码可能是这样的

if($verify == $_POST['verify']) { if($pwd == $_POST['pwd'] && $usr == $_POST['usr']) { echo 'OK'; } else { echo 'Password error'; } } else { echo 'verify error'; }

修改之后是这样的

$newpwd = md5($pwd.$verify); if($newpwd == $_POST['pwd'] && $usr == $_POST['usr']) { echo 'OK'; } else { echo 'Password error'; }

一种新型Web表单登录加密
Share this