Vuoi conoscere i vantaggi, ecco qui: PHP_AUTH_USER
è un'interfaccia per l'autenticazione di base HTTP, che è già implementata a livello di protocollo.
Ciò consente un accoppiamento più libero tra i moduli (poiché Basic Auth è uno standard comune, i moduli che utilizzano l'autenticazione non devono conoscersi) e si può avere un sistema di autenticazione che sfrutta l'autenticazione di base HTTP e quindi l'inoltro delle informazioni ad altri moduli .
Consente inoltre di non implementare l'autenticazione e di affidarsi invece al server, ad es. con .htaccess / htpasswd. di Apache.
Naturalmente, in quest'ultimo caso, cose come il recupero e l'editing della password diventano proporzionalmente più difficili e, in alcune configurazioni, impossibili a meno che non si ottenga un amministratore di sistema che lo faccia per te.
Allo stesso modo, i metodi che usano form e _POST, possibilmente attraverso AJAX, sono spesso più portabili tra le piattaforme (supponiamo che tu abbia una configurazione CGI che non supporta PHP_AUTH_ *?), e permetti più / più facile personalizzazione sia nel comportamento (es. logout, caching della password) e interfaccia (l'autenticazione di base viene eseguita dal browser e di solito viene visualizzata una finestra di dialogo standard del browser che richiede nome utente e password, che potrebbero "interferire" con l'interfaccia).