加强用户密码保存及检验的安全性

发表于:2007-06-21来源:作者:点击数: 标签:
下一页 1 2 作者: goseaside 版权: 遵循 CC 协议 http://creativecommons.org/licenses/by-nc-nd/2.0/deed.zh_TW 以下 $username, $password 分别指用户名和密码,$sitekey 为站点扰码。 密码设置 input type=\"password\" name=\"passwd\" / input type=\

下一页 1 2 

   

作者: goseaside
版权: 遵循 CC 协议 http://creativecommons.org/licenses/by-nc-nd/2.0/deed.zh_TW

  以下 $username, $password 分别指用户名和密码,$sitekey 为站点扰码。



密码设置

<input type=\"password\" name=\"passwd\" />
<input type=\"hidden\" name=\"t_code0\" />


  提交的时候,使用 javascript 处理

t_code0.value = md5 (username.value + \"|\" + passwd.value);
passwd.value = '';


  如果提交的 passwd 有值或 t_code0 为空,设置密码失败;

  t_code0 的值保存到数据库的 save_pwd 字段中;


密码校验
  1. 用户端申请登录
  服务器生成随机码 $sid,保存到 $_SESSION[sid] 中,同时传递给用户;

  表单

<input type=\"hidden\" name=\"sid\" value=\"...\" />
<input name=\"username\" />
<input type=\"password\" name=\"passwd\" />
<input type=\"hidden\" name=\"t_code\" />


  2. 用户输入用户名和密码,提交的时候,使用 javascript 处理

var t = md5 (username.value + \"|\" + passwd.value);
t_code.value = md5 (sid + \"|\" + t);
passwd.value = '';


原文转自:http://www.ltesting.net