session vraag / probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robin

Robin

12/02/2009 18:54:00
Quote Anchor link
Hallo,

Ik heb een vraag omtrent sessies en variabelen.

Ik gebruik $_SESSION['cat'], maar gebruik op mijn pagina ook $cat en dat lijkt niet te werken als ik beide met elkaar ga vergelijken.

$cat haal ik op uit een url. Indien deze niet overeenkomt met $_SESSION['cat'] moet er een update plaats vinden in de database.

Maar elke keer als ik $cat verander, lijkt $_SESSION['cat'] ook automatisch mee te veranderen.

Natuurlijk kan ik die sessie naam veranderen, maar ik zou gewoon graag even willen weten of de variabele $cat door php ook gezien word als $_SESSION['cat'], dan worden de bestaande problemen namelijk ineens heel duidelijk
Gewijzigd op 01/01/1970 01:00:00 door Robin
 
PHP hulp

PHP hulp

25/04/2024 12:15:22
 
Tom K

Tom K

12/02/2009 18:59:00
Quote Anchor link
gebruik geen super_globals! dit is absoluut niet veilig.

Je kunt zo je session met je url vergelijken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    if($_SESSION['cat'] == $_GET['cat'])
    {

        //Is gelijk
}
?>
 
Robin

Robin

12/02/2009 19:07:00
Quote Anchor link
Bedankt voor je antwoord, maar daar is het me eigenlijk niet om te doen.

De variabele $cat gebruik ik voor meerdere zaken, en er gaat eerst een hele rits aan veiligheidsmaatregelen aan vooraf om van $_GET['cat'] naar $cat te gaan. Daarnaast bestaat de sessie niet altijd etc etc...

Verder een lang verhaal, maar het is een complex script dat ik niet in een paar zinnen kan uitleggen en die ik op verzoek van de klant hier ook niet mag en kan plaatsen.

Het gaat me dus puur over de afhandeling van een sessie door php in gebruik met variabelen die dezelfde naam hebben.

Dus, ziet php $cat als $_SESSION['cat'] en andersom ? Dat is eigenlijk het enige wat ik wil weten, aangezien dat voor mij belangrijk is voor het gebruik van dit soort zaken in de toekomst.

Als ik $cat verander in $Getcat dan werkt alles wel.... vandaar mijn vraag of de sessie voor php hetzelfde is als de gelijknamige variabele

gr
Gewijzigd op 01/01/1970 01:00:00 door Robin
 
Tom K

Tom K

12/02/2009 19:09:00
Quote Anchor link
als je superglobals hebt aanstaat ziet php $_SESSION['cat'] ook als $cat
 
Robin

Robin

12/02/2009 19:16:00
Quote Anchor link
Ah ok bedankt dat verklaart een hele hoop.

Superglobals staat inderdaad aan, en vandaar dat ik de $_GET via diverse php functies laat beveiligen.....

In mijn ogen net zo veilig, of zie jij dat anders ?
 
Tom K

Tom K

12/02/2009 19:20:00
Quote Anchor link
ik vind het niet veilig, stel jij hebt het volgende script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(isset($login) && $login == true)
{

$_SESSION['logedin'] = true;
}

?>


er is nu niks aan de hand als je superglobals uit hebt staan, maar als ze aan gaan, en je adres is bestand.php?login=true, wordt de sessie aangemaakt en wordt je dus ingelogd. Nu beveilig ik mijn systeem zo dat dit niet kan(superglobals staan zoiezo uit). Maar het is dus niet echt veilig.
 
Robin

Robin

12/02/2009 19:26:00
Quote Anchor link
je punt is duidelijk en wat dat betreft heb je ook gelijk. Zoals je het zelf ook al doet is mijn script zo opgebouwd dat dit soort dingen niet getolereerd worden.

Maar toch bedankt voor de uitleg en ik zal er zeker rekening mee houden en kijken of ik het anders kan doen
 



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.