2012-07-26 18 views
7

Potrebbe esserci un modo per impostare il proprio file .htaccess per richiedere l'autenticazione ogni volta? Esempio: apro una scheda del browser, vai all'url protetto da pw, mi viene richiesto un pw. Chiudi la scheda (il browser principale è ancora aperto) e ripeti quanto sopra e ti verrà nuovamente richiesto il pw. Questo non sta accadendo a meno che non chiudi il browser. Forse questa è una cosa di cache?.htaccess prompt per password

Ecco quello che ho finora:

AuthType Basic 
AuthName "myName" 
AuthUserFile "/home/myDir/.htpasswds/public_html/myName/passwd" 
require valid-user 

Grazie in anticipo.

risposta

6

In realtà si sta lavorando in questo modo (semplificato):

  • browser invia richiesta al server senza credenziali
  • risposte Apache con 403 errore perché "richiedono valid-user" è stato specificato
  • istruzioni
  • del browser per username & password
  • il browser invia nuovamente la richiesta, questa volta vengono fornite le credenziali
  • Apache verifica le credenziali contro AuthUserFile e imposta "valid-user" di conseguenza
  • se tutto è OK - mette fuori dei dati con codice di stato 200
  • del browser che riceve 200 codice cache credenziali utilizzate per il dominio in questione fino a quando la sessione del browser scade

Come vedi, il problema risiede nel browser. Non puoi forzare il browser a dimenticare la password che usa per un dominio. E di solito non si desidera - ad esempio se la pagina protetta da password contiene immagini - il browser richiede nome utente e password per ogni immagine scaricata.

Tuttavia ci sono alcuni suggerimenti che si potrebbe provare:

  • si potrebbe scrivere il proprio gestore l'autorizzazione Apache che autorizza solo utente ogni seconda volta che viene accesso alla pagina; ma è difficile fare veramente
  • potresti usare un qualche tipo di autenticazione basata su form (in script come php o asp.net) invece di affidarti all'autenticazione http; in questo modo è abbastanza flessibile
  • si potrebbe fare un trucco, che ogni volta che una pagina protetta si accede un qualche tipo di script modifica la password nel file di passwd; quindi fornire due password per ciascun utente e passarle su ogni richiesta; in questo modo il browser ricorda sempre la password "errata"; sembra pazzesco ma questa è una soluzione più semplice che potessi pensare :-)
Problemi correlati