Sto sviluppando un sito che interroga svariate tabelle.
In questi giorni ho implementato il controllo accessi al sito, tramite 3 account.
il mio login è il seguente.
Codice PHP:
function displayLogin() {
header("HTTP/1.0 401 Unauthorized");
header("WWW-Authenticate: Basic realm=\"ESSELUNGA PTM\"");
echo "<h2>Authentication Failure</h2>";
echo "User e Password incorrette. Reinserire User e Password corrette.";
$_SESSION['username'] = addslashes($_SERVER['PHP_AUTH_USER']);
$_SESSION['password'] = sha1($_SERVER['PHP_AUTH_PW']);
exit;
}
poi verifico l'esistenza dell'account e la correttezza della password, e il gioco è fatto.
ad ogni utenza è specificato un livello di permessi al sito.. che abilitano o meno, per esempio, ad alcune voci nel menù.
Questo valore, che è un numero da 1 a 7, lo salvo in una variabile di sessione e nelle pagine che lo richiedono, verifico il valore prima di consentire o meno la visualizzazione.
ho due pagine che effettuano delle ricerche e le visualizzano.
poi posso aprire il dettaglio per ogni record fornito dalla ricerca.
quando clicco il tasto back, IE mi avvisa che la pagina è scaduta.
cercando nei post già aperti da voi ho trovato questo codice che consente di tornare sulla pagina senza quel messaggio.
Codice PHP:
header("Expires: 100");
header("Cache-Control: post-check=1, pre-check=1");
header("Cache-Control: private, max-age=10800, pre-catch=10800");
A questo punto posso tornare sulle pagine d ricerca senza problemi, ma gli account cambiano in quelle pagine.
Probabilmente perchè rimane in cache l'account precedente.
Sapete come posso fare per continuare a poter usare il tasto back verso le pagine di ricerca senza che però vengano mantenuti gli account precedenti?
Non conoscendo molto la parte header dell'html, spero esistano dei settaggi meno estesi per utilizzare la cache della pagina, senza intaccare le variabili di sessione, ma nn saprei da dove cominciare.