login  Naam:   Wachtwoord: 
Registreer je!
Scripts > PHP > Beveiliging > Custom database-sessiehandler


Reacties op het script Custom database-sessiehandler

Offline  Maarten
Gepost op: 04 juli 2011 - 13:48
Erelid



Engelse code en een nederlandstalige database-structuur.. brrrr 

Offline  ArieMedia
Gepost op: 04 juli 2011 - 16:55
Gouden medaille

PHP ver gevorderde




Maarten schreef:
Engelse code en een nederlandstalige database-structuur.. brrrr 
Is een beetje vaag ja ;)

Maar als je een beetje verstand hebt van php denk ik wel dat je dit zelf kan omzetten 

Offline  Maarten
Gepost op: 04 juli 2011 - 18:43
Erelid



Als je verstand hebt van PHP maak je dit zelf  

Offline  ArieMedia
Gepost op: 04 juli 2011 - 19:53
Gouden medaille

PHP ver gevorderde




Maarten schreef:
Als je verstand hebt van PHP maak je dit zelf  
Dat geldt voor 99/100 scripts 

Offline  Maarten
Gepost op: 05 juli 2011 - 15:49
Erelid



Dat geldt voor alle scripts, vandaar ook mijn eerste bemerking, ik breek zeker je script niet af, ik vind het gewoon een foute mentaliteit om Nederlands en Engels door elkaar te gaan gooien in code, uiteindelijk is het de bedoeling dat iemand hier iets van leert 

Offline  ArieMedia
Gepost op: 15 juli 2011 - 14:31
Gouden medaille

PHP ver gevorderde




Update @ 15/7
Opgemerkt dat ik een typo heb gemaakt in het script, mocht je het gebruiken en opmerken dat je sessies niet geupdate worden. Kopier/plak het script dan opnieuw

Offline  Thomas
Gepost op: 11 november 2014 - 14:57
Moderator



Citaat:
Het grote voordeel hiervan is dat je niet met problemen van shared hosting zit
Wat neerkomt op het (mogelijk) hebben van een gezamenlijke directory voor het wegschrijven van sessie-bestanden, wat wel een potentieel security risico heeft...

...maar wat ook vrij eenvoudig op te lossen is door middel van het instellen van een persoonlijke directory voor het wegschrijven van sessie-bestanden (via de functie session_save_path() of via ini_set() of via .htaccess).

Tenzij er nog andere issues zijn?

Voor de rest lijkt dit script even (on)veilig als "normaal" sessie-gebruik; beide varianten hebben toegang tot de bijbehorende data via een cookie die de "sleutel" bevat.

Ik weet niet of dit veilig genoeg is. Stel dat iemand het voor elkaar krijgt om ergens document.cookie af te drukken en dit door te geven aan een externe bron dan is effectief je sessie gestolen. Misschien is het een idee om een IP-controle toe te voegen? Dat of ik zou je cookie laten verlopen zodra je je browser sluit (expire parameter met waarde 0).

Oh en ik zou een vierde parameter (path) toevoegen, waarschijnlijk wil je dat je sessie op heel het domein geldig/toegankelijk is - op dit moment is deze alleen geldig in het pad waar je de sessie hebt gestart. (Geef deze parameter de waarde '/' om de sessie(cookie) op het hele (sub)domein actief te laten zijn)

Offline  Thomas
Gepost op: 23 juni 2016 - 14:38
Moderator



Ook combineert dit mogelijk twee zaken:
sessie authenticatie en sessie afhandeling.

Voor het laatstgenoemde is daar trouwens session_set_save_handler.

Op die manier blijf je op een "native" manier werken met sessies (middels session_start(), $_SESSION en andere session_-functies). Hoe dit verder onder water wordt afgehandeld (bijvoorbeeld via een database in plaats van op grond van bestanden) is abstractie, hier merkt een gebruiker programmeur verder niets van.

Andere observaties:
* twee tabellen voor sessies? Waarom niet 1 tabel met een (TEXT) kolom voor de sessiedata?
* werkt nu met simpele key-value paren, hoe ga je om met geneste arrays? Je zou eea kunnen serialiseren, but then again, dit wordt al automatisch geregeld als je gebruik maakt van session_set_save_handler


Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.04s