uchome登陆机制分析(三)

PHP代码
  • //note public 外部接口 登陆接  
  •     function onlogin($type=’myself’)  
  •         $this->init_input();  
  •         $isuid $this->input(‘isuid’);  
  •         $username $this->input(‘username’);  
  •         $password $this->input(‘password’);  
  •         $checkques $this->input(‘checkques’);  
  •         $questionid $this->input(‘questionid’);  
  •         $answer $this->input(‘answer’);  
  •         if($isuid)  
  •             $user $_ENV['user']->get_user_by_uid($username);  
  •         else  
  •             $user $_ENV['user']->get_user_by_username($username);  
  •          
  •   
  •         $passwordmd5 preg_match(‘/^\w{32}$/’, $password) $password md5($password);  
  •   
  •         $type=’myself’;  
  •         if($type==’myself’)  
  •          
  •             echo ’$password:’.$password.’<br>’;  
  •             $testmd5 md5(‘test’);//假设数据库中保持的所有的密码为test  
  • //          print_r($passwordmd5);  
  • //          print_r($user);  
  •             //note 用户名不存在  
  •               
  •             if(emptyempty($user))  
  •                 $status -1;  
  •             elseif($user['password'] != $passwordmd5)  
  •                 $status -2;  
  •             elseif($checkques && $user['secques'] != ” && $user['secques'] != $_ENV['user']->quescrypt($questionid, $answer))  
  •                 $status -3;  
  •             else  
  •                 $status $user['uid'];  
  •              
  • //          echo ’<br>$statusz:’.$status.’<br>’;  
  • //          die();  
  •         }else{  
  •             if(emptyempty($user))  
  •                 $status -1;  
  •             elseif($user['password'] != md5($passwordmd5.$user['salt']))  
  •                 $status -2;  
  •             elseif($checkques && $user['secques'] != ” && $user['secques'] != $_ENV['user']->quescrypt($questionid, $answer))  
  •                 $status -3;  
  •             else  
  •                 $status $user['uid'];  
  •              
  •          
  •         $merge $status != -1 && !$isuid && $_ENV['user']->check_mergeuser($username) 0;  
  •         return array($status, $user['username'], $password, $user['email'], $merge);  
  •      

 

至此,我们可以更改uchome默认的认证方式了,如果这里更改了,以后相关的也需要作出更改,这个就留下大家自己去跟踪调试了.

tips:

uchome_ROOT/uc_client/model/user.php下还有一个check_login(),这个函数暂时没有找到调用的地方.

PHP代码
  • function check_login($username, $password, &$user)  
  •     $user $this->get_user_by_username($username); 
  •     if(empty($user['username']))  
  •         return -1;  
  •     elseif($user['password'] != md5(md5($password).$user['salt']))  
  •         return -2;  
  •      
  •     return $user['uid'];  
  •  

eclipsePDT还是不错的,可以试试这个IDE.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值