LoginSignup
1
1

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-11-21

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 をしばらく使っていないと、こういうのを忘れてしまいます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1