Perché utilizzare PHP_AUTH_USER invece di prendere le credenziali in modalità post

0

Quali sarebbero i vantaggi dell'utilizzo di PHP_AUTH_USER e PHP_AUTH_PW invece della verifica delle credenziali in method - post .

Perché dovrei usare: $_SERVER["PHP_AUTH_USER"]; e $_SERVER["PHP_AUTH_PW"]

invece di

$_POST["user"]; e $_POST["pass"];

che differenza fa?
quali sono i vantaggi e gli svantaggi di entrambe le tecniche?
quale è più vulnerabile?

    
posta MihirUj 29.12.2015 - 17:02
fonte

1 risposta

1

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).

    
risposta data 29.12.2015 - 18:43
fonte

Leggi altre domande sui tag