воскресенье, 4 декабря 2011 г.

переменные $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW'] если PHP в режиме CGI

Если у вас PHP работает в режиме CGI то с HTTP авторизацией возникнут проблемы, т.к у вас просто не будет необходимых переменных, что бы решить эту проблему добавьте в .htaccess следующие строчки:


RewriteEngine on
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]

а в  PHP скрипте где используете HTTP авторизацию, перед проверкой добавьте следующий код:


list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['REDIRECT_REMOTE_USER'], 6)));