Problemen met header()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Thomas van den Heuvel

Thomas van den Heuvel

05/03/2019 19:47:45
Quote Anchor link
Er vanuitgaande dat je een CSRF token gebruikt die je zowel in sessie+form opslaat: op het moment dat je het formulier verwerkt (in een aparte stap) controleer je op het bestaan van het token in de sessie. Bestaat deze niet sla je (een gevalideerde) $_POST op in de sessie en stuur je iemand terug naar het formulier. Dit garandeert dat je nooit informatie kwijt raakt. Het enige wat de invuller hoeft te doen is snel door het formulier heenrennen om te constateren dat alle informatie nog steeds aanwezig is en nogmaals op de submitknop drukken.

En een sessie zet je voort met session_start() :). Als je zorgt dat dit een van de eerste dingen is die je regelt dan haakt dit (onder water doorstart) naadloos in in wat voor andere functionaliteit dan ook want voor hun lijkt het net alsof de sessie nooit was verdwenen. Dit houdt tevens in dat je niet allerlei toeters en bellen / voorzieningen hoeft aan te brengen om krampachtig de sessie in leven te houden. Deze verloopt, en gaat dan vrolijk weer verder.

Maar we wijken af van het onderwerp. De topicstarter moet gewoon eerst zijn code fixen en hier dan stap voor stap doorheen om te zien of de problemen nog spelen. Op dit moment is het grootste probleem informatie inwinning over wat er aan de hand is. Maar zoals ik al aangaf is dat zinloos omdat er op dit moment dingen in de code gebeuren die zelden tot nooit een goede afloop opleveren.

Dus. Nogmaals, fix eerst je code, en kijk dan of de problemen nog spelen.
 
PHP hulp

PHP hulp

25/11/2024 19:11:20
 
Ozzie PHP

Ozzie PHP

05/03/2019 20:08:11
Quote Anchor link
>> En een sessie zet je voort met session_start()

Mits die niet is verlopen.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/03/2019 20:26:23
Quote Anchor link
Als een sessie verlopen is dan is die verlopen... maaaarrrr.... alles wat in de vorige sessie in de database gegaan is en aan een (ingelogde) gebruiker gekoppeld is kan ook weer "uit de koelast" gehaald worden als deze gebruiker opnieuw ingelogd is. Dit kan een complete winkelwagen of meerdere formulieren zijn.
 
Ozzie PHP

Ozzie PHP

05/03/2019 20:38:16
Quote Anchor link
Dan heb je het dus niet over opslag in een sessiebestand maar in de database. Dat kan inderdaad.
 
- Ariën  -
Beheerder

- Ariën -

05/03/2019 22:19:47
Quote Anchor link
Ozzie PHP op 05/03/2019 20:08:11:
>> En een sessie zet je voort met session_start()

Mits die niet is verlopen.

En daar doelde ik ook op :P
 
Thomas van den Heuvel

Thomas van den Heuvel

05/03/2019 22:55:22
Quote Anchor link
Maakt nog steeds niks uit.
 
- Ariën  -
Beheerder

- Ariën -

05/03/2019 23:07:34
Quote Anchor link
Hmmm.....

Je kan wel een sessie vervolgen, mits deze uit een session-identifier komt, zoals via een GET of POST request, of via een cookie (wat vaak gebruikt wordt). Als een sessie na de gestelde tijd (die uit de session.gc_maxlifetime) verloopt omdat iemand een half uur op een pagina staat treuzelen voordat die doorklikt, dan wordt deze sessie niet automatisch verlengd.
Gewijzigd op 05/03/2019 23:12:17 door - Ariën -
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.