Per qualche motivo non riesco a far funzionare l'autenticazione di base utilizzando PHP sul mio server. Sto usando il codice esatto dalla pagina di manuale:L'autenticazione di base con PHP fornisce un ciclo infinito
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
} else {
echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>
Tuttavia, quando l'eseguo, non riesco mai andare oltre il prompt.
Se inserisco lo stesso codice sul mio altro server, funziona correttamente.
Qualcuno sa che cosa potrebbe causare questo? Entrambi i server sono stack WAMP e Apache ha abilitato auth_basic_module. I file PHP.ini sono praticamente identici.
Ho dato un'occhiata alle intestazioni e dopo aver inserito il mio nome utente/password, è stata inviata l'intestazione "Autorizzazione: Basic XXXXXX".
provare un 'diff' sui due file' php.ini', nel caso in cui manchi qualcosa. Potresti anche confrontare i conf di apache. – ocodo
Riferimento: http://www.php.net/manual/en/features.http-auth.php –