#navi(../)
* PHPで認証の種類を取得する方法 [#teb388fc]
PHPでベーシック認証なのかダイジェスト認証なのかを確認する方法を記します。~
尚、WWWサーバはApacheでOSはLinux(CentOS)を使用しています。~
ベーシック認証、ダイジェスト認証ともに設定済みであるとことを前提に記述しています。
#contents
#htmlinsertpcsp(web-top.html,web-sp.html)
* 関連資料 [#g341a45e]
-[[PHPで認証ユーザ名を取得する方法>PHP/認証ユーザ名を取得する方法]]
-[[Apacheでダイジェスト認証の設定>Apache/ダイジェスト認証の設定]]
-[[Apacheでベーシック認証の設定>Apache/ベーシック認証の設定]]
* 認証したユーザIDの取得 [#w8fb1c74]
スーパーグローバル変数 $_SERVERのAUTH_TYPEに認証タイプが格納されています。
サンプルスクリプトは以下の通りです。
<?php
echo $_SERVER['AUTH_TYPE'];
?>
* $_SERVERを一部確認 [#c577aa0b]
スーパーグローバル変数 $_SERVERを以下のスクリプトで表示した結果です。
<pre>
<?php
print_r($_SERVER);
?>
</pre>
** Basic認証の$_SERVER値 [#x2362b94]
Array
(
[HTTP_HOST] => 192.168.56.6
[HTTP_USER_AGENT] => Mozilla/5.0 (X11; Linux x86_64; rv:10.0.7) Gecko/20120829 Firefox/10.0.7
<snip>
[REMOTE_USER] => sakura
[AUTH_TYPE] => Basic
<snip>
** Digest認証の$_SERVER値 [#v14a075d]
Array
(
[HTTP_HOST] => 192.168.56.6
[HTTP_USER_AGENT] => Mozilla/5.0 (X11; Linux x86_64; rv:10.0.7) Gecko/20120829 Firefox/10.0.7
<snip>
[REMOTE_USER] => sakura
[AUTH_TYPE] => Digest
<snip>
#htmlinsertpcsp(web-btm.html,web-sp.html)