PHP as cgi/fastCGI でPHP_AUTH_USER が使えないので対処方法

PHP

php-fpmを使いましたが、思わぬところで仕様が違うので困りますね・・。
$_SERVER['PHP_AUTH_USER']$_SERVER['PHP_AUTH_PW']を使ったphpでbasic認証をかけるソースがある場合は以下のようにやります。

.htaccess
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
php
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['REDIRECT_HTTP_AUTHORIZATION'], 6)));


参考:
https://stackoverflow.com/questions/3663520/php-auth-user-not-set
http://www.rosmir.org/Index/Docs/archive/LabsFolder/FastCGI

コメント

タイトルとURLをコピーしました