Hallo, ik heb een vraag over de cache-control header in PHP samen met IE. Er zijn al heel wat vragen over geweest, maar ze zijn allemaal net iets te basic, en mijn antwoord staat er niet tussen. Dus hier mijn vraag:
Ik heb een admin pagina voor mijn website en een PHPLIB loginscherm dat werkt op basis van PHP4 sessies. Als een admin nou een formulier invult met gegevens en opstuurt, dan gebeurd het wel eens dat ik een foutmelding geef over het ingevulde en dan klikt de admin op de back button. Dan is het formulier dus lekker leeg!
Nou, dat komt natuurlijk doordat ik dit
Ik kan me gewoon nauwelijks voorstellen dat het zo'n probleem is! Dat IE de pagina wil refreshen als ik op back druk, dat is prima, maar daarom hoeft dat formulier toch niet leeg
Natuurlijk, als ik op F5 zou drukken of als ik op een link druk naar dezelfde pagina, dan wil ik een nieuwe lege pagina, maar als ik gewoon op Back druk dan mag dat formulier toch wel ingevuld blijven?
Is er iemand die een oplossing weet? Hoe hou ik het formulier ingevuld als ik op Back druk? Ik kan zelf niks veranderen aan de php.ini file, en ik kom ook niet onder PHP4 sessies uit. Ik heb al allerlei oplossing gelezen over een history.go(-1) link, maar het feit blijft dat de admin gegarandeert op de Back knop drukt, niet een of andere link. En om nou het hele form in sessievariabelen te zetten en zelf weer in te vullen lijkt me zeer omslachtig met al die admin-pagina's
Een andere vraag is: Stel dat de pagina wel gecached wordt. Op een gegeven moment log ik uit. Vervolgens druk ik een paar keer op de backbutton en ik kreeg al die admin paginas weer te zien. Dat mag toch geen security probleem zijn? want wil je iets POSTen dan zegt het systeem dat je niet bent ingelogd. Of maak ik hier een denkfout?
edit:oops toch typefout
Ik heb een admin pagina voor mijn website en een PHPLIB loginscherm dat werkt op basis van PHP4 sessies. Als een admin nou een formulier invult met gegevens en opstuurt, dan gebeurd het wel eens dat ik een foutmelding geef over het ingevulde en dan klikt de admin op de back button. Dan is het formulier dus lekker leeg!
Nou, dat komt natuurlijk doordat ik dit
PHP:
in mijn code heb staan! Haal ik de cache-control weg dan zou het probleem over moeten zijn, maar dat is dus niet zo doordat het PHP4 sessie systeem de cache-control header er lekker _zelf_ in zet! Dat probleem is op zich op te lossen door in php.ini de session.cache-limiter aan te passen, maar daar heb ik natuurlijk niks aan, want mijn ISP gaat niet zijn php.ini alleen voor mij zitten veranderen natuurlijk!1
2
3
4
5
| header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1 header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); // HTTP/1.0 |
Ik kan me gewoon nauwelijks voorstellen dat het zo'n probleem is! Dat IE de pagina wil refreshen als ik op back druk, dat is prima, maar daarom hoeft dat formulier toch niet leeg
Is er iemand die een oplossing weet? Hoe hou ik het formulier ingevuld als ik op Back druk? Ik kan zelf niks veranderen aan de php.ini file, en ik kom ook niet onder PHP4 sessies uit. Ik heb al allerlei oplossing gelezen over een history.go(-1) link, maar het feit blijft dat de admin gegarandeert op de Back knop drukt, niet een of andere link. En om nou het hele form in sessievariabelen te zetten en zelf weer in te vullen lijkt me zeer omslachtig met al die admin-pagina's
Een andere vraag is: Stel dat de pagina wel gecached wordt. Op een gegeven moment log ik uit. Vervolgens druk ik een paar keer op de backbutton en ik kreeg al die admin paginas weer te zien. Dat mag toch geen security probleem zijn? want wil je iets POSTen dan zegt het systeem dat je niet bent ingelogd. Of maak ik hier een denkfout?
edit:oops toch typefout
[ Voor 3% gewijzigd door Verwijderd op 12-11-2003 16:00 . Reden: oops toch typefout ]