足彩篮彩哪里买 篮彩神棍区手机版 nba篮彩怎么玩 1月5日篮彩 篮彩大小分攻略 篮彩分析网站 1.79完美篮彩大极品 篮彩预测分析专家推荐 足彩篮彩解盘分析 篮彩竞彩 篮彩分析捷报 网易篮彩 1.79火龙大极品篮彩版 篮彩大小分什么意思 nba篮彩篮球彩票

IT職業教育

華中地區北大青鳥校區IT集訓營

027-87807717

北大青鳥首頁 > 熱門IT技術教程 > 前端技術教程 > > PHP MYSQL身份驗證的方法

PHP MYSQL身份驗證的方法

時間:2012-12-29 10:34 來源:北大青鳥武漢宏鵬魯廣校區作者:北大青鳥魯廣校區
導讀:近日在為學校制做校友錄時,需要身份驗證,在對比之后決定采用PHP+MYSQL進行身份驗證。在身份驗證的同時,記錄瀏覽信息。

    近日在為學校制做校友錄時,需要身份驗證,在對比之后決定采用PHP+MYSQL進行身份驗證。之前也曾考慮過用cookies或session。但是用cookies,在用戶離線再上線后,只要cookies不過期,不用登錄仍然可以保持在線,這對于網吧來說是個隱患。而且用戶可以關閉cookies,這樣身份驗證就不成功。也考慮過用session,session在瀏覽過程中不斷的將訪問信息加入到session中,如果用戶在網站內時間很長,瀏覽的頁面很多,就用導致session越來越大,瀏覽速度降低,后只有重新登錄,雖然這種情況不多見,但不是我們所希望的。
    我在做這個身份驗證時的想法是,在身份驗證的同時,記錄瀏覽信息。用戶ID在每個頁面間傳遞,ID值是用MD5()函數加密得到的。驗證函數是validate_id(),返回值為(0,1),成功為“1”。
    思路:
    判斷被傳入的ID值是否為匿名登錄ID(a684dd572b1887661782981659331eed),32位,如果是返回0,并且將瀏覽信息加入數據庫。如果否,則查詢數據庫,看數據庫中的用戶ID,用戶IP與傳入的ID,IP值是否相等并且近瀏覽時間距當前時間不到20分鐘的記錄。
 判斷得到的記錄數,如果為0,則認為離線,并用匿名ID登錄瀏覽信息,返回0。記錄不為0時,將用戶ID,用戶IP值,加入數據庫,返回1。
創建數據庫:  
create table logging{

id int unsigned not null primary key auto_increment,

user_id char(32) not null,//用戶ID

logging_ip varchar(20) not null,//記錄用戶IP地址

page_name varchar(30) not null,//瀏覽網頁名

view_time timestamp not null,

student_id varchar(20)

);

創建函數:
/*-----begin function validate-id()---------------
驗證用戶是否登錄

------------------------------------------------*/
function validate_id($link,$id,$ip,$page_name,$student_id=""){
if($id==a684dd572b1887661782981659331eed or $id=){
$query=insert into logging(user_id,logging_ip,page_name,student_id) values ("a684dd572b1887661782981659331eed",".$ip.",".$page_name.","anonym");;
$result=mysql_db_query("web",$query,$link);
return (0);
}
else {
$year=strftime("%Y");
$month=strftime("%m");
$day=strftime("%d");
$hour=strftime("%H");
$min=strftime("%M");
$sec=strftime("%S");
echo $time_string=$year.$month.$day.$hour.$min.$sec;
// echo ("<br>");
// echo "$year-$month-$day $hour-$min-$sec<br>";
file://---------begin ifs---------------------------
if(($min-=20)<0){
$min+=60;
if(($hour-=1)==-1){
$hour+=24;
if(($day-=1)==0){
switch ($month) {
case 12 :$days=30;break;
case 1 :$days=31;break;
case 2 :if(($year/4==0)and($year/100!=0)or($year/400==0)){
$days=29;}
else {$days=28;}
break;
case 3 :$days=31;break;
case 4 :$days=30;break;
case 5 :$days=31;break;
case 6 :$days=30;break;
case 7 :$days=31;break;
case 8 :$days=31;break;
case 9 :$days=30;break;
case 10 :$days=31;break;
case 11 :$days=30;break;
}
$day+=$days;
if(($month-=1)==0){
$month+=12;
$year-=1;
}
}
}
}
file://----------------------------------end ifs
setType($month,"integer");
if($month<10){
setType($month,"string");
$month=0.$month;}
setType($day,"integer");
if($day<10){
setType($day,"string");
$day=0.$day;}
setType($hour,"integer");
if($hour<10){
setType($min,"string");
$hour=0.$hour;}
setType($min,"integer");
if($min<10){
setType($min,"string");
$min=0.$min;}

echo <br>.$time_string=$year.$month.$day.$hour.$min.$sec;
// echo "<br>$year-$month-$day $hour-$min-$sec<br>";
// echo ("<br>");
$query="select id from logging where user_id=$id and logging_ip=$ip and view_time>$time_string;";
$result=mysql_db_query("web",$query,$link);
$count=mysql_num_rows($result);
if($count==0){
// echo $query="insert into logging(user_id,logging_ip,page_name) values (a684dd572b1887661782981659331eed,$ip,$page_name);";
$result=mysql_db_query("web",$query,$link);
return (0);
}
else{
$query="insert into logging(user_id,logging_ip,page_name) values($id,$ip,$page_name)";
$result=mysql_db_query("web",$query,$link);
return (1);

}
}//end if
}
file://----------------------------end function validate-id---------
  這個驗證方法很簡單,而且沒有考慮到用戶在登錄后再登錄的情況,大家可以自己加上。如果用cookies,可能用setcookies()建立用戶ID,再從環境變量$HTTP_COOKIE或$HTTP_COOKIE_VARS中讀取。都是一樣的,不過應該保證用戶沒有cookies。

告訴我們,你現在想了解什么?

精彩專題——96%的同學看到這里都會點擊下面的專題

  • 關于我們
  • 魯廣校區北大青鳥宏鵬IT學院

    • 北大青鳥(武漢宏鵬)魯廣北校區地址:武漢市洪山區珞喻路724號(地鐵二號線光谷廣場站E口出)三樓
      電話:027-87807717
      網址:www.027hpit.com

    • 北大青鳥宏鵬IT學院:武漢市洪山區魯磨路568號
      電話:027-87808818
      網址:www.accp027.com

    • 北大青鳥(武漢宏鵬)魯廣南校區:武漢市洪山區珞喻路724號(地鐵二號線光谷廣場站E口出)五樓
      電話:027-87807736
      網址:www.whhpit.com

Copyright (c) 2006-2020 武漢宏鵬教育咨詢有限公司 版權所有 All Rights Reserved.

nba篮彩篮球彩票
足彩篮彩哪里买 篮彩神棍区手机版 nba篮彩怎么玩 1月5日篮彩 篮彩大小分攻略 篮彩分析网站 1.79完美篮彩大极品 篮彩预测分析专家推荐 足彩篮彩解盘分析 篮彩竞彩 篮彩分析捷报 网易篮彩 1.79火龙大极品篮彩版 篮彩大小分什么意思 nba篮彩篮球彩票
狂欢节登陆 本港台平特一肖 p790手机棋牌游戏 火刑堆上的圣女贞德 塞维利亚vs皇家社会 幸运龙宝贝官网 北京pk10在哪里玩正规 35选7基本走势图百度百度 比特币价格走势新浪 老鹰vs雄鹿数据 中国福利彩票双色球基本走势图500期 北京pk10开奖记录 开发手机股票app 黄金翅膀图片 莱万特vs毕尔巴鄂推荐 西班牙人4.:0韦斯卡视频