uchome登陆机制分析(三)
- //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) ? 1 : 0;
- return array($status, $user['username'], $password, $user['email'], $merge);
- }
至此,我们可以更改uchome默认的认证方式了,如果这里更改了,以后相关的也需要作出更改,这个就留下大家自己去跟踪调试了.
tips:
uchome_ROOT/uc_client/model/user.php下还有一个check_login(),这个函数暂时没有找到调用的地方.
- 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.
uchome登陆机制分析(三)相关推荐
- 标准linux休眠和唤醒机制分析
标准linux休眠和唤醒机制分析 标准linux休眠和唤醒机制分析(一) 说明: 1. Based on linux2.6.32, only for mem(SDR) 2. 有兴趣请先参考阅读:电源管 ...
- libpcap捕包机制分析(三)
目前,在linux操作系统下的网络数据包捕获系统普遍是建立在libpcap捕包平台上的,libpcap的英文意思是Library of Packet Capture,即数据包捕获函数库.该库提供的C函 ...
- Unity_游戏核心机制分析
王者荣耀游戏核心机制分析 一.这款游戏是什么 分析一个游戏的核心机制,首先我们得知道这款游戏是什么,这是从百度百科上搜索得到的关于这款游戏的资料:<王者荣耀>是由腾讯游戏天美工作室群开发并 ...
- Google Test(GTest)使用方法和源码解析——结果统计机制分析
在分析源码之前,我们先看一个例子.以<Google Test(GTest)使用方法和源码解析--概况 >一文中最后一个实例代码为基准,修改最后一个"局部测试"结果为错误 ...
- Linux cgroup机制分析之cpuset subsystem
------------------------------------------ 本文系本站原创,欢迎转载! 转载请注明出处:http://ericxiao.cublog.cn/ -------- ...
- 【Binder 机制】Native 层 Binder 机制分析 ( binder_loop | svcmgr_handler | binder.c | binder_parse )
文章目录 前言 一.binder_loop 方法调用 二.binder_loop 方法参数 svcmgr_handler 三.binder_loop 方法 四.binder_parse 方法 前言 在 ...
- JDK源码分析——Java的SPI机制分析与实战
重点提示:在我博客中的所有的源码分析的实例,我都将会放到github上,感兴趣的朋友可以下载下来调试运行,我相信还是可以有所收获的.我的目的是让所有读到我博客的朋友都可以了解到有价值的东西,学习到ja ...
- 浅析phpwind9.0之登陆机制
由于工作的需要,所以开始分析phpwind9.0论坛的部分功能的处理机制,这一节来分析登陆机制. 首先当用户点击进入登陆页面后:(这里不讨论快速登陆和直接在页头登陆的情况,原理基本一致) 进入该类调用 ...
- ida和idr机制分析(盘符分配机制)
内核ida和idr机制分析(盘符分配机制) ida和idr的机制在我个人看来,是内核管理整数资源的一种方法.在内核中,许多地方都用到了该结构(例如class的id,disk的id),更直观的说,硬盘的 ...
- 数仓集群管理:单节点故障RTO机制分析
摘要:大规模分布式系统中的故障无法避免.发生单点故障时,集群状态和业务是如何恢复的? 本文分享自华为云社区<GaussDB (DWS) 集群管理系列:单节点故障RTO机制分析(集群状态恢复篇)& ...
最新文章
- 【渗透测试学习平台】 web for pentester -1.介绍与安装
- centos7安装vsftpd
- 跟各种诡异 Bug 打交道 13 年后的总结
- php addslashes 数组,用递归addslashes函数转义数组
- python【蓝桥杯vip练习题库】BASIC-22(字符串 递归)
- 【Leetcode】103. 二叉树的锯齿形层次遍历
- ASP.NET Core Razor页面 vs MVC
- 将JSON功能添加到您的GWT应用程序中
- c语言中if和goto的用法,C语言中if和goto的用法.doc
- android网页省略分页器,Android轻量级网页风格分页器
- 第四版源码技术导航网自适应
- 机器学习岗面试准备提纲笔记
- android中动态壁纸下载,手机动态桌面壁纸(Video live wallpaper)
- 短视频去水印威信小程序源码下载,内附去水印解析接口
- Python通过IMAP实现邮箱客户端
- 我想参加计算机俱乐部用英文翻译,加入音乐俱乐部的英文怎么写_我参加音乐俱乐部已经两年了。用英语咋说...
- 惠普CEO李艾科的“金刚钻儿”
- hyperv中的ubuntu虚拟机双网卡设置
- 产品发布 | 全程托管、化繁为简,京东云上线API网关服务
- Centos删除乱码文件或文件夹
热门文章
- 概要设计的必要性及写法
- 如何将网络监控摄像头中的网络流 RTSP 转换成 M3U8 流并嵌入微信公众号
- 解决 1080端口已被占用
- python脚本-自动检测Base16、32、64、85系列编码、多层解码(新增base91解码)
- 调用微软小冰API,实现批量人脸颜值打分
- 【windows10】CMD命令行隐藏窗口运行
- 计算机攻击方式有哪些,常用的dos攻击方式是什么
- H264/H265编码视频流媒体播放器EasyWasmPlayer.js控制台循环报错Unsupported排查
- RapidShare 真实链接抓取助手
- matlab竞赛论文模板,数学建模竞赛论文模板.doc