1
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Apache で Basic 認証の値が PHP などに渡っていない時の対処法

PHP 側で BASIC 認証を処理する時は、サーバーからPHPに BASIC 認証の値を渡して上げる必要があるけれど、Apache の config で下記を設定しないと引き渡されないというのにハマる。

設定方法

以下を httpd.conf に追記。
(許可している場合は) .htaccess にても設定可能。

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

テスト方法

Basic 認証で入力された ID や PW が表示されます。

<dl>
    <dt>PHP_AUTH_USER</dt>
    <dd><?php var_dump($_SERVER['PHP_AUTH_USER']); ?></dd>
    <dt>PHP_AUTH_PW</dt>
    <dd><?php var_dump($_SERVER['PHP_AUTH_PW']); ?></dd>
</dl>

うまく渡っていない時は、Null が返されてしまいます。

Apache をしばらく使っていないと、こういうのを忘れてしまいます。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
1
Help us understand the problem. What are the problem?