在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

PHP中用戶身份認(rèn)證完成二法

PHP中用戶身份認(rèn)證完成二法

更新時間:2022-05-13 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

用戶在設(shè)計和維護(hù)站點的時候,經(jīng)常需要限制對某些重要文件或信息的訪問。通常,我們可以采用內(nèi)置于WEB服務(wù)器的基于HTTP協(xié)議的用戶身份驗證機(jī)制。當(dāng)訪問者瀏覽受保護(hù)頁面時,客戶端瀏覽器會彈出對話窗口要求用戶輸入用戶名和密碼,對用戶的身份進(jìn)行驗證,以決定用戶是否有權(quán)訪問頁面。下面用兩種方法來說明其實現(xiàn)原理。

一、用HTTP標(biāo)頭來實現(xiàn)
標(biāo)頭是服務(wù)器以HTTP協(xié)議傳送HTML信息到瀏覽器前所送出的字串。HTTP采用一種挑戰(zhàn)/響應(yīng)模式對試圖進(jìn)入受密碼保護(hù)區(qū)域的用戶進(jìn)行身份驗證。具體來說,當(dāng)用戶首次向WEB服務(wù)器發(fā)出訪問受保護(hù)區(qū)域的請求時,挑戰(zhàn)進(jìn)程被啟動,服務(wù)器返回特殊的401標(biāo)頭,表明該用戶身份未經(jīng)驗證。客戶端瀏覽器在檢測到上述響應(yīng)之后自動彈出對話框,要求用戶輸入用戶名和密碼。用戶完成輸入之后點擊確定,其身份識別信息就被傳送到服務(wù)端進(jìn)行驗證。如果用戶輸入的用戶名和密碼有效,WEB服務(wù)器將允許用戶進(jìn)入受保護(hù)區(qū)域,并且在整個訪問過程中保持其身份的有效性。相反,若用戶輸入的用戶名稱或密碼無法通過驗證,客戶端瀏覽器會不斷彈出輸入窗口要求用戶再次嘗試輸入正確的信息。整個過程將一直持續(xù)到用戶輸入正確的信息位置,也可以設(shè)定允許用戶進(jìn)行嘗試的最大次數(shù),超出時將自動拒絕用戶的訪問請求。

在PHP腳本中,使用函數(shù)header()直接給客戶端的瀏覽器發(fā)送HTTP標(biāo)頭,這樣在客戶端將會自動彈出用戶名和密碼輸入窗口,來實現(xiàn)我們的身份認(rèn)證功能。在PHP中,客戶端用戶輸入的信息傳送到服務(wù)器之后自動保存在 $PHP_AUTH_USER,$PHP_AUTH_PW,以及 $PHP_AUTH_TYPE這三個全局變量中。利用這三個變量,我們可以根據(jù)保存在數(shù)據(jù)文件或者數(shù)據(jù)庫中用戶帳號信息來驗證用戶身份!

不過,需要提醒使用者注意的是:只有在以模塊方式安裝的PHP中才能使用$PHP_AUTH_USER,$PHP_AUTH_PW,以及 $PHP_AUTH_TYPE這三個變量。如果用戶使用的是CGI模式的PHP則無法實現(xiàn)驗證功能。在本節(jié)后附有PHP的模塊方式安裝方法。

下面我們用Mysql數(shù)據(jù)庫來存儲用戶的身份。我們需要從數(shù)據(jù)庫中提取每個帳號的用戶名和密碼以便與$PHP_AUTH_USER和$PHP_AUTH_PW變量進(jìn)行比較,判斷用戶的真實性。

首先,在MySql中建立一個存放用戶信息的數(shù)據(jù)庫

數(shù)據(jù)庫名為XinXiKu ,表名為user;表定義如下:

create table user(
ID INT(4) NOT NULL AUTO_INCREMENT,
name VARCHAR(8) NOT NULL,
password CHAR(8) NOT NULL,
PRIMARY KEY(ID)
)


說明:

1、ID為一個序列號,不為零而且自動遞增,為主鍵;

2、name為用戶名,不能為空;

3、password為用戶密碼,不能為空;

以下是用戶驗證文件login.php

//判斷用戶名是否設(shè)置
if(!isset($PHP_AUTH_USER))
{
header("WWW-Authenticate:Basic realm="身份驗證功能"");
header("HTTP/1.0 401 Unauthorized");
echo "身份驗證失敗,您無權(quán)共享網(wǎng)絡(luò)資源!";
exit();
}
/*連接數(shù)據(jù)庫*/
$db=mysql_connect("localhost","root","");
//選擇數(shù)據(jù)庫
mysql_select_db("XinXiKu",$db);
//查詢用戶是否存在
$result=mysql_query("SELECT * FROM user where name='$PHP_AUTH_USER' and password='$PHP_AUTH_PW'",$db);
if ($myrow = mysql_fetch_row($result))
{
//以下為身份驗證成功后的相關(guān)操作
...
}
else
{
//身份驗證不成功,提示用戶重新輸入
header("WWW-Authenticate:Basic realm="身份驗證功能"");
header("HTTP/1.0 401 Unauthorized");
echo "身份驗證失敗,您無權(quán)共享網(wǎng)絡(luò)資源!";
exit();
}
?>




程序說明:

在程序中,首先檢查變量$PHP_AUTH_USER是否已經(jīng)設(shè)置。如果沒有設(shè)置,說明需要驗證,腳本發(fā)出HTTP 401錯誤號頭標(biāo),告訴客戶端的瀏覽器需要進(jìn)行身份驗證,由客戶端的瀏覽器彈出一個身份驗證窗口,提示用戶輸入用戶名和密碼,輸入完成后,連接數(shù)據(jù)庫,查詢該用用戶名及密碼是否正確,如果正確,允許登錄進(jìn)行相關(guān)操作,如果不正確,繼續(xù)要求用戶輸入用戶名和密碼。



函數(shù)說明:

1、isset():用于確定某個變量是否已被賦值。根據(jù)變量值是否存在,返回true或false

2、header():用于發(fā)送特定的HTTP標(biāo)頭。注意,使用header()函數(shù)時,一定要在任何產(chǎn)生實際輸出的HTML或PHP代碼前面調(diào)用該函數(shù)。

3、mysql_connect():打開 MySQL 服務(wù)器連接。

4、mysql_db_query():送查詢字符串 (query) 到 MySQL 數(shù)據(jù)庫。

5、mysql_fetch_row():返回單列的各字段。

二、用session實現(xiàn)服務(wù)器驗證
對于需要身份驗證的頁面,使用apache服務(wù)器驗證是最好不過的了。但是,apache服務(wù)器驗證的界面不夠友好。而且,cgi模式的php,iis下的php,都不能使用apache服務(wù)器驗證。這樣,我們可以利用session在不同頁面間保存用戶身份,達(dá)到身份驗證的目的。

在后端我們同樣利用上面的Mysql數(shù)據(jù)庫存放用戶信息。

我們先編寫一個用戶登錄界面,文件名為login.php,代碼職下:

____________________________________________________________

<form action="login1.php">

用戶名:<input type="text" name="name"><br>

口 令:<input type="text" name="pass"><br>

<input type="submit" value="登錄">

</form>

____________________________________________________________

login1.php處理提交的表單,代碼如下:

$db=mysql_connect("localhost","root","");
mysql_select_db("XinXiKu",$db);
$result=mysql_query("SELECT * FROM user where name='$name' and password='$pass'",$db);
if ($myrow = mysql_fetch_row($result))
{
//注冊用戶
session_start();
session_register("user");
$user=$myrow["user"];
// 身份驗證成功,進(jìn)行相關(guān)操作
...
}
else
{
echo"身份驗證失敗,您無權(quán)共享網(wǎng)絡(luò)資源!";
}
?>
這里需要說明的是,用戶可以使用在后續(xù)的操作中用**http://domainname/next.php?user=用戶名 **來繞過身份驗證。所以,后續(xù)的操作應(yīng)先檢查變量是否注冊:已注冊,則進(jìn)行相應(yīng)操作,否則視為非法登錄。相關(guān)代碼如下:
session_start();
if (!session_is_registered("user"))
{
echo "身份驗證失敗,屬于非法登錄!";
}
else
{
//成功登錄進(jìn)行相關(guān)操作
...
}
?>

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • xxww在线观看| 成人毛片100部免费看| 男人天堂av片| 丰满女人性猛交| 亚洲免费成人在线视频| 亚洲欧美自拍另类日韩| 欧美少妇性生活视频| av网址在线观看免费| 三级4级全黄60分钟| 99精品免费在线观看| 国产a级一级片| 别急慢慢来1978如如2| 动漫av免费观看| av丝袜天堂网| 加勒比av中文字幕| 亚洲 欧洲 日韩| 日本男女交配视频| 欧美色图另类小说| 欧美日韩中文不卡| 天天做天天爱天天高潮| 免费在线黄网站| 国产激情在线观看视频| 三上悠亚av一区二区三区| 中文字幕综合在线观看| 97超碰在线人人| 免费激情视频在线观看| 天天干天天曰天天操| 成人国产在线看| 女性隐私黄www网站视频| 亚洲第一页在线视频| 国产不卡一区二区视频| 福利在线一区二区三区| 秋霞在线一区二区| 红桃av在线播放| 国产精品美女在线播放| 自慰无码一区二区三区| 日本精品一区在线| 日批视频在线免费看| 7777在线视频| 网站一区二区三区| 欧洲精品在线播放| www.com污| www.爱色av.com| 97超碰人人爱| 天天色综合天天色| 少妇人妻无码专区视频| 99九九精品视频| 成人一区二区三| 日本日本19xxxⅹhd乱影响| 天天综合成人网| 热久久精品国产| 日韩国产成人无码av毛片| 亚洲美女爱爱视频| 久热免费在线观看| 日韩免费一级视频| 99er在线视频| 国产在线无码精品| 国产女同无遮挡互慰高潮91| 能看的毛片网站| 国产成人亚洲精品无码h在线| 国产一级大片免费看| 91精品视频国产| 中文字幕在线观看日| 污污视频网站免费观看| 日本在线观看a| 欧美国产激情视频| 国产成人精品视频免费看| 欧洲精品一区二区三区久久| 亚洲五码在线观看视频| 老司机午夜网站| avav在线播放| 日本一区午夜艳熟免费| 青青青在线视频播放| 欧美大黑帍在线播放| 欧美黄网在线观看| 99色这里只有精品| 男女午夜激情视频| 五月婷婷丁香综合网| 三区视频在线观看| 麻豆一区二区三区在线观看| 亚洲中文字幕无码一区二区三区| 国产尤物av一区二区三区| www.国产在线视频| 黄色片一级视频| 岛国av免费在线| 丁香色欲久久久久久综合网| 99在线观看视频免费| 3d动漫一区二区三区| 亚洲中文字幕久久精品无码喷水| 中文字幕国内自拍| 国产1区2区3区中文字幕| 国产男女无遮挡| 中文字幕成人免费视频| 97久久国产亚洲精品超碰热| 免费成人在线视频网站| 久热精品在线播放| 精品一区二区三区无码视频| 国产午夜伦鲁鲁| 亚洲欧美一区二区三区不卡| 日韩a∨精品日韩在线观看| 国产超碰在线播放| 成人一级生活片| 香蕉视频999| heyzo亚洲| 一级黄色免费在线观看| 国产精品少妇在线视频| 无码人妻精品一区二区蜜桃网站| 久久人妻精品白浆国产 | 91制片厂毛片| 精品视频在线观看一区二区| 天天综合网日韩| 久久久久久久久久网| 99精品视频国产| 黄色av免费在线播放| 性一交一乱一伧国产女士spa| 污污的网站18| 北条麻妃69av| 性一交一乱一伧国产女士spa| 色婷婷一区二区三区av免费看| 国产69精品久久久久999小说| 亚洲男人天堂av在线| 99爱视频在线| 日本福利视频一区| 免费观看国产视频在线| 成人综合久久网| 日本精品www| 免费av观看网址| 成人午夜免费在线| 久久这里只有精品23| 国产精品久久久影院| 亚洲欧美日韩不卡| 一级网站在线观看| 一级片黄色免费| 图片区乱熟图片区亚洲| 中文字幕在线视频精品| 久久久精品高清| 国产资源中文字幕| 美女黄色片网站| 草草草视频在线观看| 日本成人在线不卡| 欧美成人三级在线视频| 男人日女人下面视频| 国产第一页视频| 性chinese极品按摩| 欧美激情第3页| 色噜噜狠狠一区二区三区狼国成人| 天天视频天天爽| 男人的天堂成人| 婷婷五月综合缴情在线视频| 九一国产精品视频| 一本久道综合色婷婷五月| 日韩一级理论片| 99精品一级欧美片免费播放| 欧美视频在线第一页| 日本毛片在线免费观看| 国产wwwxx| 中文字幕の友人北条麻妃| 国产欧美久久久久| 中国丰满人妻videoshd| 岛国av免费在线| 日本人体一区二区| 老头吃奶性行交视频| 色乱码一区二区三区熟女| 国产婷婷一区二区三区| 男女无套免费视频网站动漫| 一本—道久久a久久精品蜜桃| 草b视频在线观看| 日韩av卡一卡二| 无码粉嫩虎白一线天在线观看 | 黄色一级在线视频| 在线观看免费av网址| 国产又粗又猛又爽又黄的网站| 国产真实乱子伦| www.国产二区| 午夜啪啪小视频| 日本精品免费在线观看| 日本黄xxxxxxxxx100| 天天影视综合色| 131美女爱做视频| 粉色视频免费看| 欧美 日本 亚洲| 久久精品国产精品亚洲精品色| 精品国产一二三四区| 欧美三级午夜理伦三级老人| 国产免费视频传媒| 人妻av中文系列| 中文字幕色呦呦| 激情黄色小视频| 宅男噜噜噜66国产免费观看| 欧美成人三级在线视频| 超碰97免费观看| 2025韩国理伦片在线观看| 欧美一级视频免费看| 三级在线免费观看| 艳母动漫在线免费观看| 一级一片免费播放| 日韩中文字幕a| 日本在线一二三区| 日本888xxxx| 国产九九热视频|