PHPで認証の種類を取得する方法

PHPでベーシック認証なのかダイジェスト認証なのかを確認する方法を記します。
尚、WWWサーバはApacheでOSはLinux(CentOS)を使用しています。
ベーシック認証、ダイジェスト認証ともに設定済みであるとことを前提に記述しています。

htmlinsert(): The given local file does not exist or is not readable.

関連資料

WEB.JUST4FUN.BIZの記事

認証したユーザIDの取得

スーパーグローバル変数 $_SERVERのAUTH_TYPEに認証タイプが格納されています。 サンプルスクリプトは以下の通りです。

<?php
echo $_SERVER['AUTH_TYPE'];
?>

$_SERVERを一部確認

スーパーグローバル変数 $_SERVERを以下のスクリプトで表示した結果です。

<pre>
<?php
 print_r($_SERVER);
?>
</pre>

Basic認証の$_SERVER値

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値

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>

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-03-12 (水) 11:34:35