国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

PHP中用戶身份認證完成二法

PHP中用戶身份認證完成二法

更新時間:2022-05-13 文章作者:未知 信息來源:網絡 閱讀次數:

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

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

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

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

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

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

數據庫名為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

//判斷用戶名是否設置
if(!isset($PHP_AUTH_USER))
{
header("WWW-Authenticate:Basic realm="身份驗證功能"");
header("HTTP/1.0 401 Unauthorized");
echo "身份驗證失敗,您無權共享網絡資源!";
exit();
}
/*連接數據庫*/
$db=mysql_connect("localhost","root","");
//選擇數據庫
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))
{
//以下為身份驗證成功后的相關操作
...
}
else
{
//身份驗證不成功,提示用戶重新輸入
header("WWW-Authenticate:Basic realm="身份驗證功能"");
header("HTTP/1.0 401 Unauthorized");
echo "身份驗證失敗,您無權共享網絡資源!";
exit();
}
?>




程序說明:

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



函數說明:

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

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

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

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

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

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

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

我們先編寫一個用戶登錄界面,文件名為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"];
// 身份驗證成功,進行相關操作
...
}
else
{
echo"身份驗證失敗,您無權共享網絡資源!";
}
?>
這里需要說明的是,用戶可以使用在后續的操作中用**http://domainname/next.php?user=用戶名 **來繞過身份驗證。所以,后續的操作應先檢查變量是否注冊:已注冊,則進行相應操作,否則視為非法登錄。相關代碼如下:
session_start();
if (!session_is_registered("user"))
{
echo "身份驗證失敗,屬于非法登錄!";
}
else
{
//成功登錄進行相關操作
...
}
?>

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

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        久久一日本道色综合| 日韩国产一区二| 亚洲老妇xxxxxx| av电影在线不卡| 一区二区三区日韩精品| 色综合色狠狠天天综合色| 国产精品污www在线观看| 成人午夜电影小说| 亚洲黄一区二区三区| 欧美色精品天天在线观看视频| 亚洲国产一区二区三区青草影视| 欧美日韩一区三区四区| 中文字幕亚洲成人| 欧美色图一区二区三区| 亚洲成人av福利| 精品国产乱码久久久久久浪潮| 国产成人在线网站| 亚洲在线免费播放| 欧美精品一区二区三| caoporen国产精品视频| 亚洲电影中文字幕在线观看| 欧美大片在线观看| 成人综合在线网站| 亚洲成av人片在www色猫咪| 精品久久99ma| 在线一区二区三区四区五区| 韩国成人福利片在线播放| √…a在线天堂一区| 天堂一区二区在线| 亚洲精品日韩一| 91精品国产91久久久久久一区二区| 久久精品国产澳门| 国产精品久久久久久久第一福利| 欧美日韩一区二区电影| 国产成人夜色高潮福利影视| 亚洲成人动漫精品| 亚洲欧美日本在线| 久久久久九九视频| 欧美一区二区高清| 欧美亚洲国产怡红院影院| 国产一区二区免费视频| 日韩高清不卡一区二区| 玉足女爽爽91| 亚洲欧美日韩久久精品| av电影在线观看完整版一区二区| 国产欧美日韩综合| 欧美成人综合网站| 欧美精品久久久久久久多人混战 | 欧美性受xxxx黑人xyx性爽| 国产一区在线视频| 麻豆国产精品视频| 天天综合天天综合色| 一区二区三区国产精品| 国产精品免费av| 国产精品日韩成人| 国产精品私房写真福利视频| 26uuu色噜噜精品一区二区| 欧美日韩视频在线第一区| 日本高清成人免费播放| 精品国产一区二区三区久久影院| 国产麻豆91精品| 国产一区二区三区免费观看| 欧美bbbbb| 经典三级在线一区| 国产精品中文字幕日韩精品 | 精品国产乱码久久久久久老虎| 欧美放荡的少妇| 欧美精品乱人伦久久久久久| 欧美三级在线播放| 91精品一区二区三区久久久久久| 欧美少妇bbb| 91精品国产欧美日韩| 日韩欧美中文字幕一区| 日韩免费观看2025年上映的电影 | 久久噜噜亚洲综合| 日韩午夜激情免费电影| 日韩欧美色电影| 久久精品免视看| 亚洲欧美日韩一区| 日韩电影一二三区| 国产乱国产乱300精品| 国产九色精品成人porny| 成人精品一区二区三区中文字幕| 91在线精品一区二区| 欧美日韩国产综合草草| 精品毛片乱码1区2区3区| 中文av一区二区| 午夜影院久久久| 国产精品12区| 欧美日韩一区 二区 三区 久久精品| 欧美精品久久一区二区三区| 久久精品人人做| 亚洲综合色丁香婷婷六月图片| 美腿丝袜亚洲色图| 欧美一级高清片在线观看| 亚洲激情在线播放| 亚洲成在线观看| 美国三级日本三级久久99| 国产精品一区二区在线观看不卡| 99在线精品免费| 日韩一级片在线观看| 国产精品久久久久桃色tv| 亚洲高清视频中文字幕| 国产成人一级电影| 日韩一区二区三区高清免费看看| 国产精品国产三级国产aⅴ入口 | 石原莉奈在线亚洲三区| 高清成人免费视频| 91精品在线观看入口| 日本高清成人免费播放| 精品国产乱码久久久久久免费| 亚洲欧美国产毛片在线| 国产精品中文有码| 欧美一区二区三区四区久久| 亚洲欧美另类久久久精品2019| 国产一区二区主播在线| 欧美亚洲国产一区在线观看网站| 国产精品午夜电影| 国产成人精品三级| 精品国产123| 美女网站色91| 欧美一区二区三区四区久久 | 国产精一品亚洲二区在线视频| 成人黄色网址在线观看| 日韩欧美视频在线| 美女精品自拍一二三四| 欧美乱妇15p| 欧美视频在线播放| 欧美精品一区二区精品网| 亚洲国产美女搞黄色| 97se亚洲国产综合自在线不卡| 久久久精品欧美丰满| 麻豆国产精品777777在线| 制服丝袜中文字幕亚洲| 性欧美大战久久久久久久久| 91同城在线观看| 亚洲天堂av老司机| 99在线视频精品| 亚洲综合久久久| 欧美精品在线视频| 日本特黄久久久高潮| 欧美乱妇一区二区三区不卡视频| 亚洲成人av电影在线| 欧美精品一卡两卡| 蜜臀精品久久久久久蜜臀| 91精品在线观看入口| 久久国产日韩欧美精品| 久久久久久久久97黄色工厂| 国产精品888| 日韩av电影天堂| 韩国欧美国产1区| 337p粉嫩大胆色噜噜噜噜亚洲| 美女诱惑一区二区| 国产亚洲欧美日韩日本| 菠萝蜜视频在线观看一区| 亚洲免费色视频| 91麻豆精品国产91久久久| 免费成人性网站| 日本一区二区高清| 欧美午夜免费电影| 精品无人码麻豆乱码1区2区| 久久综合色播五月| 色综合久久久久网| 日本va欧美va欧美va精品| 久久久久久久久久久电影| 色综合天天综合网天天看片| 性欧美大战久久久久久久久| 久久中文娱乐网| 欧美探花视频资源| 国产盗摄视频一区二区三区| 亚洲视频一区在线| 精品999在线播放| 久久精品99国产精品| 日韩欧美一二区| 91麻豆国产福利在线观看| 日韩精品三区四区| 国产精品久久看| 91麻豆精品91久久久久久清纯 | 麻豆91在线播放免费| 成人免费在线观看入口| 日韩欧美国产1| 色婷婷亚洲综合| 风间由美一区二区三区在线观看 | 国产精品视频一二| 精品免费日韩av| 在线欧美小视频| 成人午夜在线免费| 久久91精品久久久久久秒播| 伊人色综合久久天天| 911国产精品| 午夜精品一区二区三区电影天堂| 久久久久亚洲蜜桃| 欧美日韩国产综合一区二区| 北条麻妃一区二区三区| 免费美女久久99| 亚洲大片免费看| 亚洲资源在线观看| 国产精品美女久久福利网站| 日韩欧美一二三四区| 欧美高清视频不卡网|