国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

PHP新手上路(七)

瀏覽:32日期:2024-02-29 17:10:57
建設(shè)一個簡單交互的網(wǎng)站(三) 6. 密碼驗(yàn)證 也許你想在自己的網(wǎng)站放上你的照片集,而且只想給自己知心的朋友看,這時你需要一個密碼驗(yàn)證的程序。 6.1 基于HTTP驗(yàn)證 如何用PHP來實(shí)現(xiàn)密碼驗(yàn)證的功能呢?我們可以使用簡短的PHP代碼,使用函數(shù)header()發(fā)送HTTP標(biāo)頭強(qiáng)制驗(yàn)證,客戶端瀏覽器則彈出供輸入用戶名和密碼的對話框。在PHP中,客戶端用戶輸入的信息傳送到服務(wù)端之后自動保存在$PHP_AUTH_USER, $PHP_AUTH_PW, 以及 $PHP_AUTH_TYPE這三個全局變量中。利用這些變量,我們就可以根據(jù)實(shí)現(xiàn)保存在數(shù)據(jù)文件或數(shù)據(jù)庫中的用戶帳號信息驗(yàn)證用戶身份。 不過在這里需要提醒使用者注意的一點(diǎn)是:只有在Apache模塊方式運(yùn)行的時候,PHP腳本才能使用$PHP_AUTH_USER, $PHP_AUTH_PW, 以及 $PHP_AUTH_TYPE這三個變量。如果用戶使用的是CGI模式的PHP則無法實(shí)現(xiàn)基于HTTP的驗(yàn)證功能。;;6.2 下面,我們就來詳細(xì)介紹一下如何使用PHP對用戶身份進(jìn)行驗(yàn)證。 在下例中,我們是使用$PHP_AUTH_USER和$PHP_AUTH_PW這兩個變量來驗(yàn)證進(jìn)入者是否合法并允許進(jìn)入。在本例中被允許登錄的用戶名稱和密碼對分別為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") ) { // 如果是錯誤的用戶名稱/密碼對,強(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í)際引用中不大可能如上面使用代碼段明顯的用戶名稱/密碼對,而是利用數(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ù)用于確定某個變量是否已被賦值。根據(jù)變量值是否存在,返回true或false。 header()函數(shù)用于發(fā)送特定的HTTP標(biāo)頭。注意,使用header()函數(shù)時,一定要在任何產(chǎn)生實(shí)際輸出的HTML或PHP代碼前面調(diào)用該函數(shù)。 雖然上述代碼相當(dāng)簡單,沒有根據(jù)任何實(shí)際值對用戶輸入的用戶名和密碼進(jìn)行有效驗(yàn)證,但是至少我們了解了如何使用PHP在客戶端產(chǎn)生輸入對話框。 下面,我們就來了解一下如何根據(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)對話框要求用戶輸入身份信息。隨后,我們通過判斷用戶輸入的信息是否符合admin/123這一指定用戶帳號來授予用戶訪問權(quán)限或提示用戶再次輸入正確的信息。這種方法適用于所有用戶都使用同一登錄帳號的網(wǎng)站。;;6.4 另一種簡易的密碼驗(yàn)證 如果你是在windows98下面編寫和運(yùn)行著你的PHP腳本,或者是你在Linux下面按默認(rèn)設(shè)置,將PHP安裝成一個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 "請輸入你的管理密碼:<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>"} ?>;;;;
標(biāo)簽: PHP
主站蜘蛛池模板: 国产成人精品三区 | 免费看毛片网 | 成人做爰视频www视频 | 国产精品免费观在线 | 成年人国产 | 成人午夜影院在线观看 | 日本三级s级在线播放 | 国产一区二区在线观看免费 | 国产三级精品三级 | 在线日韩欧美一区二区三区 | 免费久草视频 | 午夜宅男在线永久免费观看网 | 亚洲香蕉久久一区二区三区四区 | 国产a级一级久久毛片 | 白嫩美女一级毛片免费看 | 国产剧情一区二区 | 亚洲精品一区二区三区在线看 | 国产亚洲精品一区二区三区 | www.久久视频 | 国产欧美综合一区二区 | 久久精品一 | 亚洲一区二区三区在线视频 | 日本一级毛片中文字幕 | 九九热爱视频精品视频高清 | 免费一级毛片在播放视频 | 一级做a爱片特黄在线观看免费看 | 怡红院在线a男人的天堂 | 精品国产a | 成人做爰全过程免费看网站 | 久久毛片网站 | 国产福利微拍精品一区二区 | 一区二区高清在线 | 色精品一区二区三区 | 国产一级爱c片免费播放 | 特级a欧美孕妇做爰片毛片 特级a欧美做爰片毛片 | 我要看一级大片 | 国产成人亚洲精品影院 | 日本在线观看免费视频网址 | 免费国产99久久久香蕉 | 综合亚洲精品一区二区三区 | 美女扒开腿让男人桶个爽 |