php創(chuàng)建基本身份認(rèn)證站點(diǎn)的方法詳解
更新時(shí)間:2013年06月08日 09:44:21 作者:
本篇文章是對(duì)php創(chuàng)建基本身份認(rèn)證站點(diǎn)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
默認(rèn)情況下,大多數(shù)web服務(wù)器一般被配置為匿名訪問,也即為,用戶在訪問服務(wù)器上的信息時(shí)一般不會(huì)被要求提示標(biāo)識(shí)信息。匿名訪問意味著用戶不使用用戶名和密碼登陸就可以訪問網(wǎng)站。這也是絕大多數(shù)公共網(wǎng)站所使用的配置。
在Apache的配置文件“httpd.conf”中,默認(rèn)被配置為匿名訪問(如下):
<directory "C:/program files/Apache software foundation/apache2.2/htdocs">
Options Indexes FollowSymLinks Includes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
--------------------------------------------------------------------------------
要強(qiáng)制瀏覽器使用基本身份認(rèn)證,必須傳遞一個(gè)WWW-Authenticate字段,例如下邊的代碼使用header()函數(shù)來要求客戶端使用BASIC驗(yàn)證,它在HTTP消息報(bào)頭中增加一個(gè)WWW-Authenticate字段:
header("WWW-Authenticate:BASIC Realm=My Realm");
--------------------------------------------------------------------------------
下邊寫一個(gè)使用
<?php
if(!isset($_SERVER['PHP_AUTH_USER'])){
header("WWW-Authenticate:BASIC Realm=My Realm");
header("HTTP/1.0 401 Unauthorized");
echo("賬號(hào)/密碼錯(cuò)誤!");
exit;
}else{
/*獲取用戶名,密碼進(jìn)行驗(yàn)證*/
$user=$_SERVER['PHP_AUTH_USER'];
$pwd=$_SERVER['PHP_AUTH_PW'];
if($user=="admin"&&$pwd="password"){
echo "通過驗(yàn)證";
}else{
header("HTTP/1.0 401 Unauthorized");
echo "賬號(hào)/密碼錯(cuò)誤!";
exit;
}
}
?>
在Apache的配置文件“httpd.conf”中,默認(rèn)被配置為匿名訪問(如下):
復(fù)制代碼 代碼如下:
<directory "C:/program files/Apache software foundation/apache2.2/htdocs">
Options Indexes FollowSymLinks Includes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
--------------------------------------------------------------------------------
要強(qiáng)制瀏覽器使用基本身份認(rèn)證,必須傳遞一個(gè)WWW-Authenticate字段,例如下邊的代碼使用header()函數(shù)來要求客戶端使用BASIC驗(yàn)證,它在HTTP消息報(bào)頭中增加一個(gè)WWW-Authenticate字段:
header("WWW-Authenticate:BASIC Realm=My Realm");
--------------------------------------------------------------------------------
下邊寫一個(gè)使用
復(fù)制代碼 代碼如下:
<?php
if(!isset($_SERVER['PHP_AUTH_USER'])){
header("WWW-Authenticate:BASIC Realm=My Realm");
header("HTTP/1.0 401 Unauthorized");
echo("賬號(hào)/密碼錯(cuò)誤!");
exit;
}else{
/*獲取用戶名,密碼進(jìn)行驗(yàn)證*/
$user=$_SERVER['PHP_AUTH_USER'];
$pwd=$_SERVER['PHP_AUTH_PW'];
if($user=="admin"&&$pwd="password"){
echo "通過驗(yàn)證";
}else{
header("HTTP/1.0 401 Unauthorized");
echo "賬號(hào)/密碼錯(cuò)誤!";
exit;
}
}
?>
相關(guān)文章
php實(shí)現(xiàn)mysql事務(wù)處理的方法
這篇文章主要介紹了php實(shí)現(xiàn)mysql事務(wù)處理的方法,以實(shí)例形式實(shí)現(xiàn)了事務(wù)回滾的技巧,代碼簡(jiǎn)單實(shí)用,需要的朋友可以參考下2014-12-12修改php.ini以達(dá)到屏蔽錯(cuò)誤信息并記錄日志
這篇文章主要介紹了通過修改php.ini文件來實(shí)現(xiàn)如果關(guān)閉與開啟錯(cuò)去信息,并給出了比較好的方法,既能看到錯(cuò)誤信息也防止信息泄露問題2013-06-06PHP實(shí)現(xiàn)對(duì)數(shù)組簡(jiǎn)單求交集,差集,并集功能示例
這篇文章主要介紹了PHP實(shí)現(xiàn)對(duì)數(shù)組簡(jiǎn)單求交集,差集,并集功能,涉及php數(shù)組操作函數(shù)array_diff、array_intersect及array_merge的使用技巧,需要的朋友可以參考下2017-10-10淺析is_writable的php實(shí)現(xiàn)
本篇文章是對(duì)is_writable的php實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06解析phpstorm + xdebug 遠(yuǎn)程斷點(diǎn)調(diào)試
本篇文章是對(duì)phpstorm + xdebug 遠(yuǎn)程斷點(diǎn)調(diào)試進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP面向?qū)ο笞詣?dòng)加載機(jī)制原理與用法分析
這篇文章主要介紹了PHP面向?qū)ο笞詣?dòng)加載機(jī)制原理與用法,結(jié)合實(shí)例形式分析了php面向?qū)ο笞詣?dòng)加載機(jī)制的原理、相關(guān)函數(shù)及注意事項(xiàng),需要的朋友可以參考下2016-10-10PDO版本問題 Invalid parameter number: no parameters were bound
發(fā)現(xiàn)在客戶的某個(gè)PHP版本下,執(zhí)行某類操作的時(shí)候,總是會(huì)報(bào)如下錯(cuò)誤 Invalid parameter number: no parameters were bound,經(jīng)google,發(fā)現(xiàn)是php版本過低導(dǎo)致2013-01-01