session cookies verwijderen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full Stack Software Developer C#.NET

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

C# .NET developer voor innovatieve applicaties gez

Bedrijfsomschrijving Deze werkgever houdt zich al ruim 20 jaar bezig met het ontwikkelen van innovatieve software en dat willen ze graag nog lang doorzetten. En dat merk je ook als je als .NET developer hier aan de slag gaat. De applicaties worden continu doorontwikkeld met altijd als uitgangspunt dat zowel de kwaliteit als het gebruikersgemak van hoog niveau is. Het bedrijf telt inmiddels ruim 25 medewerkers waarvan meer dan de helft op de development afdeling werken. Meer weten over deze werkgever? Mail naar [email protected] of bel 0657578548 Functieomschrijving Je komt te werken in een Scrum team met andere .NET developers

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

.NET Developer Medior Senior

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Herbruikbare componenten maken; Testen; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als .NET Developer kom jij terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als .NET Developer werk jij aan het ontwikkelen van verbeterde software voor

Bekijk vacature »

Java Developer bij een jonge groeiende organisatie

Bedrijfsomschrijving Vind jij het als Java developer ook zo belangrijk dat een bedrijf je de ruimte en tijd geeft voor persoonlijke ontwikkeling? Dan zit je hier helemaal goed. Deze jonge organisatie is opgericht in 2018 en is ondertussen uitgegroeid tot een club van ongeveer 30 medewerkers. Het gaat hier om een echte Java club, die vrijheid en verantwoordelijkheid erg belangrijk vinden. Het bedrijf heeft een informele sfeer en de teams zijn erg hecht met elkaar. Ze delen graag de kennis en ervaringen met anderen, maar vinden andermans mening ook zeer belangrijk. De organisatie zet zich in voor ontwikkeling en besteed

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

Bekijk vacature »

Backend Developer PHP Laravel SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

.NET developer

Functie Als junior .NET ontwikkelaar ga jij aan de slag in één van de 5 IT teams van dit bedrijf. Jullie werken op basis van interne klantprojecten aan voornamelijk webapplicaties. Dit betekent dat jij continu uitgedaagd wordt en veelal met verschillende soorten projecten bezig bent. Het gave is dan ook dat jullie als team samen bekijken welke technieken het beste passen bij het project waar jullie verantwoordelijk voor zijn. Zo kan het zijn dat jij als .NET developer gaat werken aan een project, maar dat jullie als team liever gebruik maken van Haskell of F# om de klus te klaren.

Bekijk vacature »

Java Front-end Developer

Dit ga je doen Ontwikkelen van nieuwe functionaliteiten in Java met tools als Springboot, MS SQL Server (T-SQL) en JavaScript; Het onderhouden van de (web-)applicaties binnen een complexe omgeving; Werken aan de migratie van een monolithisch systeem naar een architectuur gebaseerd op Kubernetes; Code reviews met collega's en actieve kennisuitdelingsessies voeren; Het uitvoeren van unit- en systeemtests Experimenteren met nieuwe tools en technieken. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen

Bekijk vacature »

Front-end developer (Angular)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

PHP Laravel developer

Functie omschrijving Weet jij alles van Laravel en krijg je energie van het ontwikkelen van software hiermee? Laat snel wat van je horen want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch. Jouw taken zullen bestaan uit: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Documentatie schrijven over applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein softwarebedrijf. Er werken ongeveer 15 medewerkers, verdeeld in meerdere teams, zoals back-end en front-end development, projectmanagement

Bekijk vacature »

In-house .NET software developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house development functie? Maak jij graag hét verschil m.b.t. interne automatisering? Haal jij energie uit het automatiseren van processen voor je eigen collega's? Dan hebben wij de perfecte vacature voor je! Voor een gezellig Brabants familiebedrijf, zijn wij op zoek naar een .NET software developer. Je gaat in deze zelfstandige functie werken aan de ontwikkeling van eigen applicaties & en het koppelen van deze applicaties aan de ingekocht software. Jouw werkzaamheden zien er als volgt uit: Het management team signaleert behoeftes vanuit de business. Vervolgens worden deze behoeftes uitgewerkt en geprioriteerd.

Bekijk vacature »

Belastingdienst - Freelance Applicatieontwikkelaar

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Hybride. Kantoordagen in Utrecht, incidenteel in Apeldoorn Functieomschrijving: De afdeling IV – Generieke Voorzieningen – Interactie Online is onderdeel van de keten Interactie. De missie van de keten is: “het faciliteren van de interactie met alle burgers, bedrijven en hun vertegenwoordigers om hen in staat te stellen aan hun fiscale verplichtingen te voldoen en aanspraak te maken op hun rechten.” De afdeling Interactie Online heeft een belangrijke bijdrage binnen deze keten. Dit door het ontwikkelen

Bekijk vacature »

Randstad B.V.- Freelance Senior Fullstack Develope

Startdatum: 01.05.2023 Richttarief: € 75,00 - €85,00 Duur van de opdracht: 1 jaar Uren per week: 40 Werkmodel: Hybride, dinsdag en donderdag aanwezig op kantoor in Diemen en meer wanneer dit nodig is. Functieomschrijving: De ideale kandidaat gaat onderdeel uitmaken van een junior team binnen het foundation domein. Vanuit het foundation domein werkt dit team samen met andere foundation teams en teams uit het online domein (professionals B2B en B2C) voor het bouwen en integreren van HRM functionaliteiten (verlof en benefits) in de persoonlijke portal van Interim Professionals. Er is meer backend werk dan frontend, maar kandidaat moet beiden leuk

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

10/05/2024 02:36:57
 
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.