Ik gebruik bij de inlogprocedure en wijzigingen een vast gecodeerde session code, en een variabele code.
Bij het zoeken naar gegevens van lid gebruik ik nu de voorhanden zijnde gegevens
als Username, Email, enz.
Ik zou natuurlijk ook de gegevens van de session kunnen gebruiken.
De vaste session code bevat een uniek gegeven van een lid.
Omdat die session is gecodeerd moet ik het eerst omzetten voor referentie.
Wat betreft scripting maakt dat niet veel uit.
Tenzij ik de vaste session waarde ongecodeerd erin zet (=lidnr).
Dan kan ik direct op fotonaam (=lidnr) zoeken voor alle gegevens.
Lijkt me niet zo veilig.
Hoe zoeken jullie de gegevens?
Hieronder een voorbeeldje:
Dat eerste heb ik blijkbaar verkeerd gelezen of begrepen...
Of de vraag verkeerd gesteld...
Ik sla nu twee sessionwaardes op.
1 vast met ongecodeerde vaste waarde.
En 1 met variabele waarde.
En die check ik bij elke aan te roepen functie of bewerking met de session waardes.
Als dat beide klopt kan ik ook de benodigde gegevens ophalen.
Want de vaste sessionwaarde is de verwijzing waar de gegevens staan.
De vaste waarde had ik in eerste instantie gehasht.
Dus moest ik via omweg de gegevens ophalen.
Maar de set_session()... voer je die ook vaker uit?
Ik zie in het script staan dat die voorkomt aan het eind van een blok.
Bijv. na het bewerken van de persoonlijke gegevens.
De session_regenerate_id() was ik al eerder op gewezen.
Dus die heb ik al ingebakken.
Een enkele keer session_start() is voldoende bij de uitvoer van je script.
Als je dit automatisch doet, of op je eerste pagina (of je config, hoewel het niet echt hoort), dan hoef je er niet meer op te letten.
Het heeft niet echt veel zin om een username+password op te slaan in een sessie.
Tijdens de authenticatiestap (inloggen) stel je -met een bepaalde zekerheid- vast dat iemand is die hij/zij zegt te zijn, en vervolgens sla je iets op in de sessie wat deze gebruiker identificeert, bijvoorbeeld een user id.
Dan haal je elke volgende page-access opnieuw de privileges die deze gebruiker heeft op en sla je deze op in een tijdelijke variabele of object, bijvoorbeeld $user.
Dit zodat er geen informatie "gefixeerd" raakt in de sessie, en die informatie hoef je dan ook niet elke keer te updaten wanneer deze verandert.
Dus als iemand ongein uithaalt met een account dan trek je privileges in, en die worden meteen effectief omdat je die elke page-access opnieuw ophaalt en niet tussendoor opslaat, waarin dus het gevaar zit dat je met verouderde informatie/credentials aan het werken bent.
Dat probleem heb je dus niet als je zo'n user variabele / object elke pagina-aanroep opnieuw opbouwt.
Het is ook een separation of concerns: het inloggen is voor het vaststellen wie iemand is, het opnieuw opbouwen van een tijdelijke variabele waarin privileges worden vermeld is voor het vastleggen wat iemand mag.
Is het nu vroege vogel of of nachtbraker Thomas?
Het was ook een voorbeeld Thomas.
Die username die heb ik als vaste sessionwaarde.
En het password in de sessie is vervangen door een random waarde.
Misschien zeg ik nu iets doms. Maar had het idee dat wanneer
een sessiewaarde gestolen wordt, men toch ook de tweede nodig heeft
om wat te kunnen....
Als het beide in de sessie staat is het zinloos om het te controleren. Het staat immers in de sessie. Als de sessie gestolen wordt zijn beide waarden automatisch overgenomen.
De code voorbeelden die je geeft laten zien dat beide waarden inderdaad in de sessie zitten. Vrij zinloos dus.