session cookies verwijderen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Anaplan Developer

Dit ga je doen What are you going to do: Picking up Stories: Design planning had, how are we going to build it in Anaplan; Talking to the end user to build a forecasting model; Having contact with the data team about which data is needed; Being able to convert an Excel sheet into a 3, 4 or 5 dimensional modeling environment; Giving knowledge sessions about Anaplan; Solving incidents; Making instructional videos on how teams should read forecasts; Writing blogs about forecasting. Hier ga je werken We are looking for an Anaplan Builder to deliver end-to-end solutions within a big

Bekijk vacature »

Medior/senior front end developer React Sportsoftw

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van onze stack; Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in de regio van Bergen op Zoom ben je als PHP Developer niet alleen gefocust op het ontwikkelen van Software. Daarnaast ben je ook voortdurend bezig met het zoeken naar nieuwe mogelijkheden en innovaties die essentieel kunnen zijn voor de efficiëntie van software ontwikkeling. Je deelt veel kennis en informatie met het team en ontvangt deze dan ook graag terug. Techstack: PHP, Symfony & mySQL. Bedrijfsprofiel Deze uitdagende opdrachtgever is ruim 20 jaar actief in de regio Bergen op Zoom. Het vooruitstrevende team staat de hele dag voor je klaar om je te helpen en ondersteunen.

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Ridderkerk zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met

Bekijk vacature »

Senior Front end developer Automotive Angular

Functie Als Senior Front end developer kom je te werken in een team van 11 developers. 9 van de 11 focussen zich op back end, welke is geschreven in Java, en 2 op de front end waarbij er gebruik wordt gemaakt van Typescript en Angular. De focus in deze rol ligt op 2 aspecten; doorontwikkeling van de eigen tooling en gebruik van de tooling t.b.v. klantprojecten. Momenteel zijn ze in de afrondende fase van een project waarbij ze het gehele verkoopproces van nieuwe auto’s anders ingeregeld hebben voor een grote dealer in Nederland. Waarbij Auto’s normaliter pas verkocht werden in

Bekijk vacature »

Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12946 Introductie We are looking for a Java Developer! Our client is one of the most innovation companies located within the Netherlands. We provide high quality software in a high-tech and challenging market. Functieomschrijving The department is specialized in creating and developing high quality software for manufacturing automation in a high tech environment. We strive to provide our clients with high quality software and deliver state of the art solutions in a variety of ways. Creating software infrastructure using Java SE / EE Create applications to fine tune manufacturing processes

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Zoek jij een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf? Wij zijn voor deze functie op zoek naar een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! Verder ga jij je bezighouden met: Het verbeteren van functionaliteiten binnen het dataplatform; Meedenken in oplossingsrichtingen; Werken aan de architectuur; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je werken? De organisatie waar je voor gaat werken heeft een onafhankelijk

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij in één van onze vier scrumteams. Met 30 ontwikkelaars werk jij aan de doorontwikkeling van ons core product. Ook werkt jouw team aan maatwerkoplossingen op aanvraag van de klant en op projectbasis. Wij vinden het erg belangrijk dat onze ontwikkelaars met plezier naar werk gaan. Een deel hiervan ligt uiteraard bij jezelf, als jij ontwikkelen niet leuk vindt, ben jij bij ons echt aan het verkeerde adres. Jouw team bestaat namelijk uit een groep gepassioneerde vakidioten die dit werk doen omdat dit eerst een hobby was! Daarnaast wordt er intern rekening gehouden met

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

Als Front-end developer werken aan apps voor het o

Functie Als Front-end developer werk je intensief samen met 1 van de UX-designers en denk je mee over de gebruiksvriendelijkheid en design van onze web- en mobile apps. Je bent betrokken bij sessies met gebruikers om designs te valideren en usability van de app-in-wording te testen. Vervolgens gebruik je dit om samen met je team waarin ook back-end (.NET) developers zitten, te zorgen voor de realisatie van de best mogelijke apps voor studenten en docenten. Eisen • Je hebt een hands-on development en coding mind-set en werkt graag aan een high quality code base welke je consequent onderhouden kan worden

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

Bekijk vacature »

Pagina: 1 2 volgende »

Marlies Maalderink

Marlies Maalderink

15/02/2017 17:01:02
Quote Anchor link
Van de week heb ik de map waar de session cookies op de server bij mijn host worden opgeslagen gewijzigd naar een map waar ik zelf toegang toe heb (buiten de root). De reden hiervan was dat het heel soms gebeurd dat een session cookie corrupt raakt en je dan de helpdesk moet vragen de session te verwijderen voordat je door sessions beveiligde gedeelte van de website weer werkt. Nu kan ik dat in geval van nood zelf. (Dit gebeurd overigens alleen tijdens development, als er heel veel geupload en gerefreshed wordt, heb het nog nooit in een live omgeving meegemaakt of gezien)
https://secure.servage.net/wiki/Session

Anyway, nu valt me het volgende op. Als ik een sessie verwijder met session_destroy(); dan wordt de session cookie helemaal leeg gemaakt, maar het bestandje zelf blijft wel staan. Hoort dat zo? Ik ging er altijd van uit dat bij session_destroy() gewoon alles verwijderd zou worden...

De permissies van de map waarin de session cookies opgeslagen worden staan op 777 en de eigenaar ben ik.
 
PHP hulp

PHP hulp

16/02/2025 17:10:38
 
Ward van der Put
Moderator

Ward van der Put

15/02/2017 17:44:33
Quote Anchor link
Marlies Maalderink op 15/02/2017 17:01:02:
Als ik een sessie verwijder met session_destroy(); dan wordt de session cookie helemaal leeg gemaakt, maar het bestandje zelf blijft wel staan. Hoort dat zo?

Ja, dat hoort zo. Het bespaart namelijk heel wat uitstapjes naar het bestandssysteem. Er wordt niet aan de lopende band steeds maar één sessiebestand gewist, maar in één keer een heleboel sessiebestanden.

De kans dat deze garbage collector wordt geactiveerd, kun je regelen met session.gc_probability en session.gc_divisor in php.ini. De kans is daarbij gelijk aan session.gc_probability / session.gc_divisor.
 
Bart V B

Bart V B

15/02/2017 17:50:23
Quote Anchor link
Waarom zou je een session map de rechten geven om te lezen/schrijven/en UITVOEREN?
Is dat niet teveel van het goede?

Als www-data er in kan schrijven en lezen is dat voldoende.
Ook vraag ik me af of session_destroy() ook niet te veel van het goede is?
Kan je niet beter het onderdeel van de session wat niet meer nodig is unsetten?
 
Marlies Maalderink

Marlies Maalderink

15/02/2017 18:25:20
Quote Anchor link
Ward, dank je voor de uitleg! Dat moet je ook maar net weten zeg!

Bart, ja, misschien is dat idd wel wat veel van het goede. Had het nu klakkeloos overgenomen omdat mijn hostingprovider aangeeft dat je het zo moet doen. Vraag me wel af waarom ze dat dan zeggen.

Wat betreft session_destroy(), is dat niet een normaal onderdeel van uitloggen? In de praktijk zal dat trouwens niet eens zo heel veel voorkomen, maar het lijkt mij logischer om een log uit af te sluiten met een session_destroy(). Of zijn er goede redenen om dat niet te doen?
 
Bart V B

Bart V B

15/02/2017 18:49:04
Quote Anchor link
Nou, dan is de hostingprovider wel erg enthousiast met advies geven.
Chmodden naar 777 werkt inderdaad altijd, maar technisch gezien laat je nu een iedereen en dan bedoel ik de goede, maar ook de slechte lezen, schrijven, en uitvoeren.
Op zich is lezen en schrijven (heel voorzichtig gezegd) niet zo heel erg. Maar uitvoeren is een potentieel gevaar. Daarmee kan je hele stoute dingetjes doen. En dat zou ik als zowel gebruiker, als provider toch minder vinden als ik zomaar van alles mag doen op een server.

Dus wat ik zou doen is chown www-data:en_jou_gebruiker /var/www/html/weet_ik_niet_welkemap/sessions/

Wat betreft session_destroy(), dat het een hele normale actie is, en vrijwel overal op het net gebeiteld staat klopt. Maar als je wat verder er over nadenkt is het net zoiets als een mug met een kanon proberen af te schieten. Ik weet natuurlijk niet wat voor applicatie dat je aan het schrijven bent, maar ik zou me zomaar kunnen voorstellen bij een webshop bijvoorbeeld dat je een $_SESSION['ingelogd'] aanmaakt om bestellingen in te zien, maar in die zelfde session_start() kan bijvoorbeeld ook een $_SESSION['bewaar_winkelwagen'] of $_SESSION['favoriet'] in zitten. Met session_destroy() schiet je dus ook met dat zelfde kanon de rest van de bewaarde waardes in je $_SESSION af.
Dus waarom zou je de als je alleen het inloggen wilt opheffen alles weggooien?

Toegeven, ik gebruik voor enkel inloggen en uitloggen het ook session_destroy(), maar zou ik wat meer opties hebben dan doe ik dat niet.
Gewijzigd op 15/02/2017 18:57:44 door Bart V B
 
Ward van der Put
Moderator

Ward van der Put

15/02/2017 18:57:24
Quote Anchor link
Ik beheer een site waar sessiebestanden inderdaad een probleem waren. Dat was niet omdat ze niet werden verwijderd (want dat gaat gewoon automatisch), maar omdat ik er een megabyte aan tijdelijke data in opsla. Slaat de garbage collector niet tijdig aan, dan loopt zo'n site vast op onvoldoende schijfruimte.

De oplossing is niet alleen session_destroy() aanroepen, maar éérst niets opslaan in het sessiebestand door $_SESSION op een lege array in te stellen. Bijvoorbeeld uitloggen bestaat dan uit drie stappen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$_SESSION
= array();
if (ini_get('session.use_cookies')) {
    $cookie_params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000, $cookie_params['path'], $cookie_params['domain'], $cookie_params['secure'], $cookie_params['httponly']);
}

session_destroy();
?>
 
Marlies Maalderink

Marlies Maalderink

15/02/2017 20:00:51
Quote Anchor link
Bart, ik ga het inderdaad even aanpassen. De hele boel staat wel buiten de root folder maar als het niet nodig is dan is het een beetje onzin om die map op 777 te zetten.

In dit geval gaat het alleen om in en uitloggen.

Ward, dan telt het inderdaad snel op. Maar als je een session_destroy() doet, wordt hij dan ook niet leeg gemaakt? (als ik een session cookie bekijk van een session die ik heb ge-destroyed, dan staat er ook niets meer in namelijk...) Of is er dan nog verborgen data of maakt hij hem niet altijd leeg?
 
Thomas van den Heuvel

Thomas van den Heuvel

16/02/2017 10:20:15
Quote Anchor link
session_destroy() zorgt er denk ik effectief voor dat je niet meer naar het sessie-bestand (niet te verwarren met $_SESSION) kunt schrijven totdat je session_start() opnieuw aanroept. Het eerst leegmaken en vervolgens uitzetten van de wegschrijfmogelijkheid zijn dus stappen die garanderen dat een sessie leeg is en leeg blijft tijdens het afbouwen hiervan.

Indien het gaat om uitloggen, wat een "state change" is, loont het misschien ook de moeite om:
- het sessie-id te verversen met session_regenerate_id()
- direct na dit alles de pagina te verversen met header('Location: xyz') gevolgd door een exit-statement zodat de nieuwe toestand ook meteen van kracht is
 
Marlies Maalderink

Marlies Maalderink

16/02/2017 11:41:00
Quote Anchor link
Ok, duidelijk, dank je wel voor de uitleg.

Thomas van den Heuvel op 16/02/2017 10:20:15:
Indien het gaat om uitloggen, wat een "state change" is, loont het misschien ook de moeite om:
- het sessie-id te verversen met session_regenerate_id()
- direct na dit alles de pagina te verversen met header('Location: xyz') gevolgd door een exit-statement zodat de nieuwe toestand ook meteen van kracht is


Dat laatste doe ik al. Wat betreft het eerste, op welke plek de je dat? Na het leegmaken van de session maar voor session_destroy? Klopt het dat je dan dit krijgt?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
public function uitloggen() {
        
    $this->lifetime = -4200;
    $_SESSION = array();
        
    $cookie_params = session_get_cookie_params();
        session_set_cookie_params( $this->lifetime, $cookie_params[ 'path' ], $cookie_params[ 'domain' ], $cookie_params[ 'secure' ], $cookie_params[ 'httponly' ] );
    session_regenerate_id(true);

        session_destroy();
        
    }

?>
Gewijzigd op 16/02/2017 11:44:49 door Marlies Maalderink
 
Thomas van den Heuvel

Thomas van den Heuvel

16/02/2017 14:29:47
Quote Anchor link
Goede vraag, geen idee wat een goede plek is :). De sessie is in principe toch leeg + onschadelijk gemaakt.

Maar als je dit (aanroep van session_regenerate_id()) op zijn minst bij het inloggen doet (ook een state change) is dat misschien al wel genoeg.
 
Marlies Maalderink

Marlies Maalderink

16/02/2017 14:33:04
Quote Anchor link
Ik doe het bij inloggen en dan nog in 10% van de gevallen bij het aanroepen van session_start();

Dus in principe wordt het session_id regelmatig geregenereerd. Het lijkt overigens prima te werken zoals het hierboven staat, alleen betwijfel ik of session_regenerate_id hier uberhaupt iets toevoegd of er een beetje voor niets tussen staat.
 
Thomas van den Heuvel

Thomas van den Heuvel

16/02/2017 14:42:14
Quote Anchor link
Hm, laat voorlopig maar weg dan. Er stond mij iets bij over state changes, maar als de state change tevens inhoudt dat de sessie beëindigd wordt dan is dat nogal loos wellicht ja.
 
Marlies Maalderink

Marlies Maalderink

16/02/2017 14:43:41
Quote Anchor link
Ga ik het weghalen. Thanks voor het meedenken!
 
Ward van der Put
Moderator

Ward van der Put

16/02/2017 15:43:02
Quote Anchor link
Thomas van den Heuvel op 16/02/2017 14:42:14:
Er stond mij iets bij over state changes, maar als de state change tevens inhoudt dat de sessie beëindigd wordt dan is dat nogal loos wellicht ja.

Dat is gewoon correct. Overschakelen van HTTP naar HTTP/S is zo'n state change. En overschakelen van anonieme bezoeker naar ingelogde gebruiker is er ook een.

Maar de hamvraag is daarom: heeft de uitgelogde gebruiker nog een sessie? Gebruik je ergens anders nog een session_start(), dan is het antwoord waarschijnlijk: ja. Wordt de sessie na het uitloggen niet beëindigd maar voortgezet met minder rechten, dan is ook dat een state change.
 
Marlies Maalderink

Marlies Maalderink

16/02/2017 16:48:06
Quote Anchor link
De uitgelogde gebruiker heeft geen sessie meer, zie mijn uitlog script een paar posts hierboven.

Hoewel hij na het uitloggen geredirect wordt naar de login pagina waar ik wel weer session_start gebruik. (maar dat staat los van de uitloggende gebruiker)
 
Ward van der Put
Moderator

Ward van der Put

16/02/2017 17:29:36
Quote Anchor link
Dat staat er niet los van: eigenlijk hadden ze session_start() voor de duidelijkheid session_start_or_restart() moeten noemen.
 
Marlies Maalderink

Marlies Maalderink

16/02/2017 17:35:17
Quote Anchor link
Hmmm... Ok. Maar nu weet ik nog niet of ik nu bij het uitloggen het session id moet regeneren. De session cookie is dus leeg gemaakt, de lifetime in het verleden gezet, en daarna een session_destroy().

Is die sessie dan nog steeds niet echt weg? En zou ik dus toch het session id moeten regeneren?

Potverdorie wat moet je doen om van een sessie af te komen ;)
 
Ozzie PHP

Ozzie PHP

16/02/2017 18:06:51
Quote Anchor link
>> Is die sessie dan nog steeds niet echt weg? En zou ik dus toch het session id moeten regeneren?

Waarom zou je het NIET doen? Het kan toch geen enkel kwaad?

Het regenereren van een ID doe je om een mogelijke session-hijacking te voorkomen.

Als Piets eerste session ID 'abc' heeft en na het regenereren 'xyz' dan is hij nog steeds gewoon gekoppeld aan hetzelfde sessiebestand. Het enige wat je doet is het een hacker lastig maken die het gemunt heeft op de sessie (het sessiebestand) met ID 'abc'.

Dus ... heel simpel. Maak gewoon de sessie leeg als iemand uitlogt.

$_SESSION = [];

Nu staat er niks zinvols meer in. En als je wilt kun je dan ook nog regenereren.
 
Marlies Maalderink

Marlies Maalderink

16/02/2017 20:05:28
Quote Anchor link
Ozzie PHP op 16/02/2017 18:06:51:

Waarom zou je het NIET doen? Het kan toch geen enkel kwaad?


Dat is waar. Ik zet hem er wel weer in...

ondertussen ga ik wel een beetje off-topic, sorry daarvoor.

In totaal zijn de sessies nu beveiligd op de volgende manier:

- de session-cookies worden ingesteld op httponly en op secure als die mogelijkheid er is
- de user agent en het ip adres worden opgeslagen als er iemand inlogt (gehashed samen met het wachtwoord)
- het session id word geregenereerd direct na inloggen, en daarna bij 20% van de session_starts
- bij het uitloggen wordt de sessie leeggemaakt, de lifetime in het verleden gezet, nogmaals geregenarate en dan gedestroyed
- de formulieren zijn voorzien van tokens die ik ook in een sessie opsla en direct na het controleren weer leegmaak.

Kan ik nog meer doen om de sessies te beveiligen of zit ik zo wel goed?
Gewijzigd op 16/02/2017 20:06:50 door Marlies Maalderink
 
Ozzie PHP

Ozzie PHP

16/02/2017 21:11:22
Quote Anchor link
>>> de user agent en het ip adres worden opgeslagen als er iemand inlogt (gehashed samen met het wachtwoord)

Dit kun je beter niet doen. Een IP-adres kan gedurende de sessie wijzigen.

>> de lifetime in het verleden gezet

Dit lijkt me niet nodig.

>> de formulieren zijn voorzien van tokens die ik ook in een sessie opsla en direct na het controleren weer leegmaak

Het leegmaken lijkt me ook niet per se nodig. Gewoon zorgen dat er iedere keer als je het formulier aanroept een nieuwe token wordt gegenereerd.
 
Thomas van den Heuvel

Thomas van den Heuvel

16/02/2017 22:56:53
Quote Anchor link
Als je het token niet weghaalt zou je het form de hele tijd kunnen her-submitten, wat het (mede)doel van het token (dubbelposts tegengaan) een beetje verslaat :). Het is goed dat deze meteen ongeldig/verwijderd worden na eenmalig gebruik.

Ik denk dat het pas weer uitmaakt dat het sessie id verandert (na leeggooien, destroy en het unsetten van het cookie) als je er weer spannende dingen mee gaat doen zoals inloggen. Maar je zei al dat je op dat moment regenerate. Daarnaast ben je je "link" met je sessie id kwijt doordat je het sessie-cookie weggooit.

In het ergste geval kaapt iemand een lege sessie ;-). Niet zo bijzonder boeiend lijkt mij. Maar het is een state change, da's waar :].
Gewijzigd op 16/02/2017 22:57:36 door Thomas van den Heuvel
 

Pagina: 1 2 volgende »



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.