6. 密碼驗(yàn)證

  也許你想在自己的網(wǎng)站放上你的照片集,而且只想給自己知心的朋友看,這時(shí)你需要一個(gè)密碼驗(yàn)證的程序。

6.1 基于HTTP驗(yàn)證

  如何用PHP來實(shí)現(xiàn)密碼驗(yàn)證的功能呢?我們可 " /> [高清无码] 波多野结衣,蜜桃狠狠色伊人亚洲综合网站,中国女人逼

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP新手上路(七)

建設(shè)一個(gè)簡單交互的網(wǎng)站(三)

6. 密碼驗(yàn)證

  也許你想在自己的網(wǎng)站放上你的照片集,而且只想給自己知心的朋友看,這時(shí)你需要一個(gè)密碼驗(yàn)證的程序。

6.1 基于HTTP驗(yàn)證

  如何用php來實(shí)現(xiàn)密碼驗(yàn)證的功能呢?我們可以使用簡短的php代碼,使用函數(shù)header()發(fā)送HTTP標(biāo)頭強(qiáng)制驗(yàn)證,客戶端瀏覽器則彈出供輸入用戶名和密碼的對(duì)話框。在php中,客戶端用戶輸入的信息傳送到服務(wù)端之后自動(dòng)保存在$php_AUTH_USER, $php_AUTH_PW, 以及 $php_AUTH_TYPE這三個(gè)全局變量中。利用這些變量,我們就可以根據(jù)實(shí)現(xiàn)保存在數(shù)據(jù)文件或數(shù)據(jù)庫中的用戶帳號(hào)信息驗(yàn)證用戶身份。

  不過在這里需要提醒使用者注意的一點(diǎn)是:只有在Apache模塊方式運(yùn)行的時(shí)候,php腳本才能使用$php_AUTH_USER, $php_AUTH_PW, 以及 $php_AUTH_TYPE這三個(gè)變量。如果用戶使用的是CGI模式的php則無法實(shí)現(xiàn)基于HTTP的驗(yàn)證功能。  

6.2 下面,我們就來詳細(xì)介紹一下如何使用php對(duì)用戶身份進(jìn)行驗(yàn)證。

  在下例中,我們是使用$php_AUTH_USER和$php_AUTH_PW這兩個(gè)變量來驗(yàn)證進(jìn)入者是否合法并允許進(jìn)入。在本例中被允許登錄的用戶名稱和密碼對(duì)分別為tnc和nature:
<?
if(!isset($php_AUTH_USER))  
{
Header("WWW-Authenticate: Basic realm="My Realm"");
Header("HTTP/1.0 401 Unauthorized");
echo "Text to send if user hits Cancel buttonn";
exit;
}  
else  
{
if ( !($php_AUTH_USER=="tnc" && $php_AUTH_PW=="nature") )
{
// 如果是錯(cuò)誤的用戶名稱/密碼對(duì),強(qiáng)制再驗(yàn)證
Header("WWW-Authenticate: Basic realm="My Realm"");
Header("HTTP/1.0 401 Unauthorized");
echo "ERROR : $php_AUTH_USER/$php_AUTH_PW is invalid.";
exit;
}  
else  
{
echo "Welcome tnc!";
}
?>

  事實(shí)上再實(shí)際引用中不大可能如上面使用代碼段明顯的用戶名稱/密碼對(duì),而是利用數(shù)據(jù)庫或者加密的密碼文件存取它們。  

6.3 根據(jù)指定的驗(yàn)證信息核實(shí)用戶身份

  首先,我們可以使用以下代碼確定用戶是否已經(jīng)輸入了用戶名和密碼,并顯示出用戶輸入的信息。

<?php  

if (!isset($php_AUTH_USER)) {

header('WWW-Authenticate: Basic realm="My Private Stuff"');

header('HTTP/1.0 401 Unauthorized');

echo 'Authorization Required.';

exit;

}

else {

echo "<P>You have entered this username: $php_AUTH_USER<br>

You have entered this password: $php_AUTH_PW<br>

The authorization type is: $php_AUTH_TYPE</p>";

}

?>

說明:
isset()函數(shù)用于確定某個(gè)變量是否已被賦值。根據(jù)變量值是否存在,返回true或false。
header()函數(shù)用于發(fā)送特定的HTTP標(biāo)頭。注意,使用header()函數(shù)時(shí),一定要在任何產(chǎn)生實(shí)際輸出的HTML或php代碼前面調(diào)用該函數(shù)。

  雖然上述代碼相當(dāng)簡單,沒有根據(jù)任何實(shí)際值對(duì)用戶輸入的用戶名和密碼進(jìn)行有效驗(yàn)證,但是至少我們了解了如何使用php在客戶端產(chǎn)生輸入對(duì)話框。

  下面,我們就來了解一下如何根據(jù)指定的驗(yàn)證信息核實(shí)用戶身份。代碼如下:

<?php

if (!isset($php_AUTH_USER)) {

header('WWW-Authenticate: Basic realm="My Private Stuff"');

header('HTTP/1.0 401 Unauthorized');

echo 'Authorization Required.';

exit;

}

else if (isset($php_AUTH_USER)) {

if (($php_AUTH_USER != "admin") || ($php_AUTH_PW != "123")) {

header('WWW-Authenticate: Basic realm="My Private Stuff"');

header('HTTP/1.0 401 Unauthorized');

echo 'Authorization Required.';

exit;

} else {

echo "<P>You're authorized!</p>";

}

}

?>

  在這里,我們首先檢查用戶是否已經(jīng)輸入了用戶名稱和密碼,如果沒有則彈出相應(yīng)對(duì)話框要求用戶輸入身份信息。隨后,我們通過判斷用戶輸入的信息是否符合admin/123這一指定用戶帳號(hào)來授予用戶訪問權(quán)限或提示用戶再次輸入正確的信息。這種方法適用于所有用戶都使用同一登錄帳號(hào)的網(wǎng)站。  

6.4 另一種簡易的密碼驗(yàn)證

  如果你是在windows98下面編寫和運(yùn)行著你的php腳本,或者是你在Linux下面按默認(rèn)設(shè)置,將php安裝成一個(gè)CGI程序的話,你將無法使用上面的php程序來實(shí)現(xiàn)驗(yàn)證功能。為此,無邊給大家提供了另外一種簡易的密碼驗(yàn)證的方法。雖然實(shí)用性不大,但是拿來學(xué)習(xí)還是挺好的。
<?php
$password = "123";  

// check password
if($pass != $password)
{
echo "<html><head><title>管理密碼</title></head><body>";
echo "<form method="post" action=$php_SELF>";
echo "請(qǐng)輸入你的管理密碼:<br>";
echo "<input type="password" name="pass">";
echo "<input type="submit" value="continue">";
echo "</form></body></html>";
}
else
{
echo "<html><head><title>恭喜你,你已經(jīng)通過了密碼驗(yàn)證</title></head>";
echo "<script>";
echo 'window.location="http://gophp.heha.NET/test/index.php3"';
# 通過密碼驗(yàn)證后轉(zhuǎn)入的頁面
echo "</script>";

}
?>    

php技術(shù)PHP新手上路(七),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: hdsexvideos中国明星 | 国语自产二区高清国语自产拍 | 色悠悠电影网 | 国产成人精品男人免费 | 俄罗斯粗大猛烈18P 俄罗斯雏妓的BBB孩交 | 成人毛片手机版免费看 | 果冻传媒色AV国产播放 | 亚洲福利网站 | 国产精品人妻无码久久久蜜桃 | AV一区AV久久AV无码 | 色cccwww| 在线看片韩国免费人成视频 | 狠狠啪 日日啪 | 最近中文字幕MV免费高清视频8 | 色呦呦导航 | 挺进绝色老师的紧窄小肉六 | 成人毛片免费在线观看 | 永久免费的污视频网站 | 亚洲福利天堂网福利在线观看 | 好大好爽好深舒服死了 | 两个人的视频日本在线观看完整 | 欧美午夜精品A片一区二区HD | 一边亲着一面膜下奶韩剧免费 | 天堂精品国产自在自线 | 亚洲VA天堂VA欧美VA在线 | 偷窥自拍性综合图区 | 免费观看男生桶美女私人部位 | 91精品国产品国语在线不卡 | 亚洲欲色欲色XXXXX在线AV | 全部免费特黄特色大片看片 | xxxx老妇性hdbbbb| 国产亚洲欧美ai在线看片 | 99久久伊人一区二区yy5o99 | 久久影院中文字幕 | 免费精品国偷自产在线 | 亚洲精品久久久午夜福利电影网 | 国产成人aaa在线视频免费观看 | 日本午夜视频在线 | 99久久国产极品蜜臀AV酒店 | 天天拍拍国产在线视频 | 午夜AV国产欧美亚洲高清在线 |