电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

PHP 驗證登陸類

瀏覽:15日期:2022-09-13 09:53:04

用法

/* * 例子 * * $Auth=new Auth(); * $Auth->login('123@123.com','123'); * $Auth->logout(); * echo $r->init(); ***/

<?php

/* * * @ID: 驗證登陸類 * * @class: Auth.class.php * * @auther: 欣兒 * * @time: 2015/03/12 * * @web: http://my.oschina.net/xinger ***/ classAuth { //外部設置 //cookie設置 var$cookie_time;// 7200 var$cookie_where;//’/’ var$cookie_domain;// ’yourweb.com’ var$cookie_secure;// 1和0 //數據庫設置var$select_uid;// ’uid’ var$select_table;//’user’ var$select_usersname;// ’email’ var$select_password;// ’password’ //鹽 var$salt;//'12332' var$guest_name;// ’Guest’ //用戶獲取值 var$user_id; var$username; var$ok; var$pre;// ’auth_’ var$depr;//’-’ //內部變量 private$pre_username; private$pre_password; publicfunction__construct($config=array()){$this->set($config); $this->pre_username=sha1(md5($this->pre.’username’));$this->pre_password=sha1(md5($this->pre.’password’)); } publicfunctionset($config){$this->cookie_time = isset($config[’cookie_time’])?$config[’cookie_time’]: 7200;$this->cookie_where = isset($config[’cookie_where’])?$config[’cookie_where’]:’/’;$this->cookie_domain = isset($config[’cookie_domain’])?$config[’cookie_domain’]:’’;$this->cookie_secure = isset($config[’cookie_secure’])?$config[’cookie_secure’]:’’; $this->select_uid= isset($config[’select_uid’])?$config[’select_uid’]:’uid’;$this->select_table = isset($config[’select_table’])?$config[’select_table’]:’table’;$this->select_usersname = isset($config[’select_usersname’])?$config[’select_usersname’]:’user_name’;$this->select_password = isset($config[’select_password’])?$config[’select_password’]:’password’; $this->salt = isset($config[’salt’])?$config[’salt’]:’sghsdghsdg’;//$this->guest_name= isset($config[’guest_name’])?$config[’guest_name’]:’Guest’;// $this->pre = isset($config[’auth’])?$config[’auth’]:’auth_’;$this->depr = isset($config[’depr’])?$config[’depr’]:’-’; } // publicfunctioninit(){$this->user_id = 0;$this->username =$this->guest_name;$this->ok = false; if(!$this->check_session()){ $this->check_cookie();} return$this->ok; } //驗證SESSION privatefunctioncheck_session(){if(!empty($_SESSION[$this->pre_username])&&!empty($_SESSION[$this->pre_password])){ return$this->check($_SESSION[$this->pre_username],$_SESSION[$this->pre_password]);}else{ returnfalse;} } //驗證COOKIE privatefunctioncheck_cookie(){if(!empty($_COOKIE[$this->pre_username])&&!empty($_COOKIE[$this->pre_password])){ return$this->check($_COOKIE[$this->pre_username],$_COOKIE[$this->pre_password]);}else{ returnfalse;} } //登陸 publicfunctionlogin($username,$password){$sql ='select '.$this->select_uid.' from '.$this->select_table.' where '.$this->select_usersname.'=’$username’ and '.$this->select_password.'=’$password’';$result= mysql_query($sql);$rows = mysql_num_rows($sql); if($rows==1){ $this->user_id = mysql_result($result,0,0); $this->username =$username; $this->ok= true; $username =$username.$this->depr.$this->get_ip(); $user_name =$this->encrypt($username,’E’,$this->salt); $_SESSION[$this->pre_username]=$user_name; $_SESSION[$this->pre_password]=md5(md5($password,$this->salt)); setcookie($this->pre_username,$user_name,time()+$this->cookie_time,$this->cookie_where,$this->cookie_domain,$this->cookie_secure); setcookie($this->pre_password,md5(md5($password,$this->salt)),time()+$this->cookie_time,$this->cookie_where,$this->cookie_domain,$this->cookie_secure); returntrue;}returnfalse; } //驗證 privatefunctioncheck($username,$password){$user_name =$this->encrypt($username,’D’,$this->salt);$name =explode($this->depr,$user_name);$username =$name[0];$ip= isset($name[1]) ?$name[1] : NULL;if($ip!==$this->get_ip())returnfalse; static$vars=array();if(!empty($vars)&&is_array($vars)&&isset($vars[$username.$password])){ $this->user_id =$vars[’user_id’]; $this->username =$vars[’username’]; $this->ok=$vars[’ok’]; returntrue;} $sql ='select '.$this->select_uid.','.$this->select_password.' from '.$this->select_table.' where '.$this->select_usersname.'=’$username’';$query = mysql_query($sql);$result= mysql_fetch_array($query);$row = mysql_num_rows($sql); if($row== 1){ $db_password=$result[$this->select_password]; if(md5(md5($db_password,$this->salt)) ==$password){$this->user_id =$vars[’user_id’] =$result[$this->select_uid];$this->username =$vars[’username’] =$username;$this->ok=$vars[’ok’] = true;$vars[$username.$password] = md5($username.$password);returntrue; }}returnfalse; } //退出 publicfunctionlogout(){$this->user_id = 0;$this->username =$this->guest_name;$this->ok = false; $_SESSION[$this->pre_username]='';$_SESSION[$this->pre_password]='';setcookie($this->pre_username,'',time()-$this->cookie_time,$this->cookie_where,$this->cookie_domain,$this->cookie_secure);setcookie($this->pre_password,'',time()-$this->cookie_time,$this->cookie_where,$this->cookie_domain,$this->cookie_secure); } //加密 publicfunctionencrypt($string,$operation,$key=’’) {$key=md5($key);$key_length=strlen($key);$string=$operation==’D’?base64_decode($string):substr(md5($string.$key),0,8).$string;$string_length=strlen($string);$rndkey=$box=array();$result=’’;for($i=0;$i<=255;$i++){ $rndkey[$i]=ord($key[$i%$key_length]); $box[$i]=$i;}for($j=$i=0;$i<256;$i++){ $j=($j+$box[$i]+$rndkey[$i])%256; $tmp=$box[$i]; $box[$i]=$box[$j]; $box[$j]=$tmp;}for($a=$j=$i=0;$i<$string_length;$i++){ $a=($a+1)%256; $j=($j+$box[$a])%256; $tmp=$box[$a]; $box[$a]=$box[$j]; $box[$j]=$tmp; $result.=chr(ord($string[$i])^($box[($box[$a]+$box[$j])%256]));}if($operation==’D’){ if(substr($result,0,8)==substr(md5(substr($result,8).$key),0,8)) {returnsubstr($result,8); } else {return’’; }}else{ returnstr_replace(’=’,’’,base64_encode($result));} } publicfunctionget_ip() {return$_SERVER[’REMOTE_ADDR’]; }}?> * 例子 * * $Auth=new Auth(); * $Auth->login('123@123.com','123'); * $Auth->logout(); * echo $r->init(); ***/
標簽: PHP
相關文章:
主站蜘蛛池模板: 塑料撕碎机_编织袋撕碎机_废纸撕碎机_生活垃圾撕碎机_废铁破碎机_河南鑫世昌机械制造有限公司 | SMC-SMC电磁阀-日本SMC气缸-SMC气动元件展示网 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 除甲醛公司-甲醛检测治理-杭州创绿家环保科技有限公司-室内空气净化十大品牌 | 长沙广告公司_制作,长沙喷绘_发光字_招牌制作_长沙泓润广告官网 长城人品牌官网 | 电动液压篮球架_圆管地埋式篮球架_移动平箱篮球架-强森体育 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 智能型高压核相仪-自动开口闪点测试仪-QJ41A电雷管测试仪|上海妙定 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 河北凯普威医疗器材有限公司,高档轮椅系列,推车系列,座厕椅系列,协步椅系列,拐扙系列,卫浴系列 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | elisa试剂盒-PCR试剂盒「上海谷研实业有限公司」 | 健身器材-健身器材厂家专卖-上海七诚健身器材有限公司 | 拉力测试机|材料拉伸试验机|电子拉力机价格|万能试验机厂家|苏州皖仪实验仪器有限公司 | 船老大板材_浙江船老大全屋定制_船老大官网 | 越南专线物流_东莞国际物流_东南亚专线物流_行通物流 | 贴片电容-贴片电阻-二三极管-国巨|三星|风华贴片电容代理商-深圳伟哲电子 | 超细|超微气流粉碎机|气流磨|气流分级机|粉体改性机|磨粉机|粉碎设备-山东埃尔派粉体科技 | 螺钉式热电偶_便携式温度传感器_压簧式热电偶|无锡联泰仪表有限公司|首页 | 电加热导热油炉-空气加热器-导热油加热器-翅片电加热管-科安达机械 | 衬氟旋塞阀-卡套旋塞阀-中升阀门首页 | 昆山新莱洁净应用材料股份有限公司-卫生级蝶阀,无菌取样阀,不锈钢隔膜阀,换向阀,离心泵 | 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | 百度关键词优化_网站优化_SEO价格 - 云无限好排名 | 成都顶呱呱信息技术有限公司-贷款_个人贷款_银行贷款在线申请 - 成都贷款公司 | 自动化生产线-自动化装配线-直流电机自动化生产线-东莞市慧百自动化有限公司 | TPU薄膜_TPU薄膜生产厂家_TPU热熔胶膜厂家定制_鑫亘环保科技(深圳)有限公司 | 稳尚教育加盟-打造高考志愿填报平台_新高考志愿填报加盟_学业生涯规划加盟 | 我车网|我关心的汽车资讯_汽车图片_汽车生活! | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | 免费网站网址收录网_海企优网站推荐平台 | VI设计-LOGO设计公司-品牌设计公司-包装设计公司-导视设计-杭州易象设计 | 小程序开发公司-小程序制作-微信小程序开发-小程序定制-咏熠软件 | 回转支承-转盘轴承-回转驱动生产厂家-洛阳隆达轴承有限公司 | 房在线-免费房产管理系统软件-二手房中介房屋房源管理系统软件 | Dataforth隔离信号调理模块-信号放大模块-加速度振动传感器-北京康泰电子有限公司 |