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

作者:袖梨 2022-07-02

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

  密码设置




  提交的时候,使用 javascript 处理


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

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

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


  密码校验

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

  表单







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


var t = md5 (username.value "|" passwd.value);
t_code.value = md5 (sid "|" t);
passwd.value = '';
  3. 服务器端判定
  假如 username 为空 或 passwd 非空 或 t_code 为空,返回登录页;
  如没有 $_SESSION[sid],返回登录页;


[php]

相关文章

精彩推荐