Sui piani hosting topweb e topwebplus PHP è configurato in modalità Fast-CGI e pertanto non vengono direttamente "recuperati" gli authentication headers (Basic, Bearer, etc). E' necessario tener presente che sui nostri prodotti viene aggiunto il prefisso REDIRECT_ alle richieste .
Per recuperare $_SERVER['PHP_AUTH_USER'] e $_SERVER['PHP_AUTH_PW'] con autenticazione Basic oppure $_SERVER['PHP_AUTH_BEARER'] con autenticazione Bearer consigliamo di aggiungere all'inizio dello script questo codice:
if(preg_match('/Basic+(.*)$/i', $_SERVER['REDIRECT_HTTP_AUTHORIZATION'], $matches)) { list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['REDIRECT_HTTP_AUTHORIZATION'], 6))); }else if (preg_match('/Bearer+(.*)$/i', $_SERVER['REDIRECT_HTTP_AUTHORIZATION'], $matches)) { $_SERVER['PHP_AUTH_BEARER'] = $matches[1]; }
Nota: Alcuni CMS (es wordpress) hanno nel file .htaccess la seguente direttiva:
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
Questa serve a spostare gli headers di richiesta per l'autenticazione nella variabile $_SERVER['HTTP_AUTHORIZATION']
Creato a: 24/03/2016 10:58am
L'ultima volta a: 13/11/2021 9:08am
L'ultima volta a: 13/11/2021 9:08am