PHP – HTTP autentizace

  PHP, Webhosting

Pozor: následující návod se netýká případu, kdy používáte HTTP autentizaci pomocí souborů htaccess a htpasswd. Týká se použití globálních proměnných PHP_AUTH_USER a PHP_AUTH_PW v PHP.

Na našem webhostingu používáme PHP v módu FastCGI, kde se tyto potřebné hlavičky do PHP nepředávají. Je potřeba tomu trochu pomoci.

1. Do souboru www/.htaccess ve vašem webhostingu vložte na začátek následující kód:

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

2. Upravte vaši PHP aplikaci tak, že před místem kontroly přihlášení (před kontrolováním proměnných PHP_AUTH_USER a PHP_AUTH_PW) vložte následující příkaz, který tyto chybějící globální proměnné doplní:

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

Další informace naleznete na následujícím odkazu, odkud byl tento postup převzat:
HTTP Authentication with PHP running as CGI/SuExec