smf论坛用户登录机制分析

THINKPHP整合SMF注册用户时密码采用$pwd = sha1($user.$pwd);但第一次登录时,会登录不了,原因是因为用户表字段$password_salt为空,看SMF代码发现其为随机的四位数字,将注册用户数据增加$password_salt = substr(md5(mt_rand()), 0, 4);

$data = array(‘member_name’ => $user,’real_name’ => strtolower($user), ‘passwd’ => $pwd ,’email_address’=> $uemail ,’validation_code’=> ” ,’is_activated’=> ‘1’ ,’lngfile’=> ” ,’member_ip’=>$uip,’member_ip2’=>$uip,’date_registered’=>$utime,’buddy_list’=> ”,’message_labels’=> ”,’openid_uri’=> ”,’signature’=> ”,’ignore_boards’=> ”,’password_salt’=> $password_salt);

 

/*必须要填写的字段 INSERT INTO `test`.`smf_members` (`member_name`, `date_registered`, `lngfile`, `real_name`, `passwd`, `email_address`,  `member_ip`, `member_ip2`, `is_activated`, `validation_code`, `buddy_list`, `message_labels`, `openid_uri`, `signature`, `ignore_boards`) VALUES (‘robert4’, ‘1323146948’, ”, ‘robert’, ‘3443324243243242342343’, ‘efdd@fd.com’, ‘127.0.0.1’, ‘127.0.0.1’, ‘1’, ”, ”, ”, ”, ”, ”);*/

© 版权声明
THE END
喜欢就支持以下吧
点赞0 分享