Ik gebruik onderstaand login script. Werkt prima, alleen in internet explorer als je soms de back button van je browser gebruikt komt er onderstaande error. Zou dit aan de sessie liggen ofzo ? En wat kan ik eraan doen ?:
Error :
Script :Code:De webpagina is verlopen Meest waarschijnlijke oorzaak: •De lokale kopie van deze webpagina is verouderd en u dient de webpagina opnieuw te downloaden. Mogelijke acties: Klik op de knop Vernieuwen op de werkbalk als u de pagina opnieuw wilt laden. Na het vernieuwen moet u misschien weer naar de specifieke webpagina gaan of de informatie opnieuw opgeven.
Code:<?php if (isset($_POST['gebruiker'], $_POST['wachtwoord'])) { loginaction(); } else { sessioncheck(); } function loginaction() { $gebruikers = array(); $gebruikers['admin'] = 'site'; if(array_key_exists($_POST['gebruiker'], $gebruikers)) { if($_POST['wachtwoord'] == $gebruikers[$_POST['gebruiker']]) { $_SESSION['login']['gebruiker'] = sha1(md5($_POST['gebruiker'])); $_SESSION['login']['wachtwoord'] = sha1(md5($_POST['wachtwoord'])); } else { showform(); exit(); } } else { showform(); exit(); } } function sessioncheck() { if(!isset($_SESSION['login']['gebruiker']) || !isset($_SESSION['login']['wachtwoord'])) { showform(); exit(); } } function showform() { ?> <meta http-equiv="REFRESH" content="0;URL=http://www.site.com/index.php"> <?php } ?>
- webpagina verlopen
-
25-09-2009, 18:37 #1
- Berichten
- 515
- Lid sinds
- 16 Jaar
webpagina verlopen
-
-
26-09-2009, 09:16 #2
- Berichten
- 765
- Lid sinds
- 19 Jaar
Ik denk dat dat komt doordat je een POST formulier verstuurd. Als je de waarden via de URL gaat meegeven (GET) ga je dit probleem niet hebben.
-
26-09-2009, 09:54 #3
- Berichten
- 935
- Lid sinds
- 17 Jaar
knopje 'terug' bouwen op je website zelf en je hebt nergens meer last van...
-
26-09-2009, 12:58 #4
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
Klopt, want je post iets dus in principe gaat hij er dan van uit dat er iets veranderd is. je zou een forward moeten gebruiken en natuurlijk een echte terug knop maken.
-
26-09-2009, 13:09 #5
- Berichten
- 533
- Lid sinds
- 16 Jaar
-
26-09-2009, 13:11 #6
- Berichten
- 1.670
- Lid sinds
- 16 Jaar
Gewoon een POST gebruiken en een harde link terug plaatsen. Je kan eventueel bij het inloggen vinden waar de bezoeker vandaan komt door bijvb in de get een urlencoded linkje naar die pagina mee te geven in de form waarna de <terug> link deze urlencoded link in zich op neemt.
-
26-09-2009, 18:40 #7
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
-
26-09-2009, 18:41 #8
- Berichten
- 1.670
- Lid sinds
- 16 Jaar
Het wordt veiliger dan GET beschouwd omdat de gegevens niet in de URL staat, dat is minder veilig. In de log van sommige routers bijvb zie je alleen de URL's en niet de POST, POST is dan dus veiliger. Maar er zijn ook andere manieren om hier achter te komen....
-
26-09-2009, 18:45 #9
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
Je data wordt net zo goed verstuurd en in beide gevallen net zo makkelijk te manipuleren.
-
26-09-2009, 18:45 #10
- Berichten
- 1.670
- Lid sinds
- 16 Jaar
-
26-09-2009, 18:54 #11
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
POST is schijnheilig, het is beide te manipuleren dus gewoon niet veilig ;)
-
26-09-2009, 18:54 #12
- Berichten
- 1.670
- Lid sinds
- 16 Jaar
-
26-09-2009, 19:04 #13
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
Je kunt:
- de genoemde GET gebruiken maar dat is inderdaad veel minder veilig dan een POST.
- de eigen backbutton maken en het formulier opnieuw vullen met je sessie gegevens.
- overstappen op AJAX.
Een POST is niet alleen beter omdat ie meer data aankan dan een GET, het is inderdaad een stuk veiliger (zie D. Koop, denk, behalve routerlogs, ook maar eens aan de webstats waar al je passwords en usernames dan in staan.)
Ook kan een url maar enkele honderden bytes lang zijn dus bij grotere formulieren zou je data kwijtraken bij een GET.
Ook ziet het erg lullig uit als je een url hebt zoals http://www.bla.tld/login.php?user=vincent&pass=oeps
Zeker als deze gebookmarkt wordt of door de zillion 'seo/url-check' plugins van IE/FF wordt 'bekeken'. Zo leg je niet alleen je websitenaam, username en password, kant en klaar bij partijen zoals M$, Norton, McAfee etc... maar ook bij Google (Analytics maybe) en eventueel andere sites die ecter stats bijhouden.
En of dat nog niet genoeg is.... je maakt het dan zelfs 'domme' users erg makkelijk om iets met username/password combinaties te gaan 'spelen'.
-
26-09-2009, 19:05 #14
- Berichten
- 1.670
- Lid sinds
- 16 Jaar
AJAX heeft in principe geen verschil met GET en POST hoor, snap niet waarom je dit vermeld;-)
-
26-09-2009, 19:09 #15
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
SSL helpt overigens niets met een GET. In dat geval wordt eerst de url naar een get omgevormt en dan welliswaar over SSL verstuurd.... Maar hij komt toch leesbaar in de logs te staan, kan eenvoudig gebookmarkt worden en kan zelfs door de gebruiker doorgestuurd worden naar een andere gebruiker. Het maakt het alleen iets lastiger om 'onderweg' de boel te wijzigen.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic