Miten saisin tehtyä kirjautumisen oikeaoppisesti, että uloskirjautuessa selaimen back-napilla ei pääsisi kirjautumaan takaisin ja että myöskään edelliset kirjautuneena käydyt sivut eivät näkyisi?
header('Cache-Control: no-cache'); auttaa sisäänkirjautumisformin uudelleenlähetyksen estämiseen, kun back-nappia painetaan, mutta silti sisään- ja uloskirjautumisen välillä katsottuja sivuja pääsee selaamaan.
Näkyy ohjelmointiputkankin sivuilla olevan myös tuo edellämainittu ongelma, mut miten sen sais pois?
Ite olen käyttänyt seuraavanlaisia otsakkeita
<?php header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); ?>
ja tuntunut toimivan ihan hyvin.
Mulla toi ei nyt sitten huomioi enää tota no-cache osaa tuosta, eli selain lähettää tunnuksen ja salasanan taas uudestaan kun menee taaksepäin...
??
Nyt ei ymmärrä? Eli kirjaudut => Selailet sivuja => Loggaat ulos => Alat rämpyttää back-nappia, niin tarpeeksi kauan kun painelet tulet siihen kohtaan jossa kirjauduit ja pääset kirjautumaan uudestaan?
Sun pitää uudelleenohjata sieltä kirjautumissivulta jonnekkin, jolloin ne lomakkeen lähettämät tiedot häviää. Lue kuhasta tästä threadista ongelma numero yksi ja eisin kommentti siihen.
ajv kirjoitti:
Nyt ei ymmärrä? Eli kirjaudut => Selailet sivuja => Loggaat ulos => Alat rämpyttää back-nappia, niin tarpeeksi kauan kun painelet tulet siihen kohtaan jossa kirjauduit ja pääset kirjautumaan uudestaan?
Niin. Ja jos laittaa ton header('Cache-Control: no-cache'); niin siitä ongelmasta pääsee eroon, mut sitten ne selatut sivut näkyy samalla tavalla kuin olisit kirjautuneena (vaikka uusille sivuille ei pääsekään).
ajv kirjoitti:
Sun pitää uudelleenohjata sieltä kirjautumissivulta jonnekkin, jolloin ne lomakkeen lähettämät tiedot häviää. Lue kuhasta tästä threadista ongelma numero yksi ja eisin kommentti siihen.
No joo... Uudelleenohjaamalla vaan ei taida saada kätevästi koko osoiteriviä talteen jos haluasi samalle sivulle päästä kirjautumisen jälkeen. Esim. jos selaa keskustelusivua kirjautumatta ja haluaakin kommentoida => loggaa sisään, mut ei pääse samaan kohtaan jos GETissä on paljon parametreja. Vai onko $SERVERissä muuttujaa jossa olisi kaikki GET-arvot?
Joo, $_SERVER-taulukosta löytyy kyllä tarpeelliset tiedot ko. sivun osoitteen selvittämiseen parametreineen. Kaivappa esim tästä tarpeelliset. Eli selatun sivun osoite vaan kirjautumisformiin hidden-kenttään ja paluu kirjautumissivulta sen mukaan, sen taisit jo tietääkkin.
ajv kirjoitti:
Joo, $_SERVER-taulukosta löytyy kyllä tarpeelliset tiedot ko. sivun osoitteen selvittämiseen parametreineen. Kaivappa esim tästä tarpeelliset. Eli selatun sivun osoite vaan kirjautumisformiin hidden-kenttään ja paluu kirjautumissivulta sen mukaan, sen taisit jo tietääkkin.
Jep, mun tapauksessa homma selvisi kun lomakkeen käsittelyn loppuun laittoi
Header("Location: " . $_SERVER['SCRIPT_NAME'] . "?" . $_SERVER['QUERY_STRING']);
kiitos!
Aihe on jo aika vanha, joten et voi enää vastata siihen.