Archief - Session token

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Sick-Boy

Legacy Member
Ik wil voor mijn login-form een token gebruiken en doe dit met de volgende code:
PHP:
	$token = $_SESSION['sToken'] = mt_rand();

$token komt dan als waarde in een hidden form, de sessie dient als controle bij de verwerking.

Ik weet niet hoe het komt maar mijn sessie en token komen niet overeen. Als ik time() gebruik als functie dan werkt het wel, microtime() werkt dan weer niet...

Noch die sessie, noch token krijgen ergens anders een andere waarde, maar ik vind niet waar het probleem ligt.

Iemand die mij kan helpen?

Sick-Boy

Legacy Member
Probleem bijna opgelost.

Als ik deze code toevoeg:
PHP:
$_SESSION['sCounter'] = isset($_SESSION['sCounter'])? $_SESSION['sCounter'] +1 : 0;
Dan blijkt dat mijn pagina 2 keer extra wordt geladen (door het gebruik van multiviews).

massoo

Legacy Member
Frontend:
PHP:
<?php $_SESSION['validator'] = 5; ?>
<input type="hidden" name="hidden" value="<?php echo $_SESSION['validator']; ?>" />

Backend:
PHP:
<?php if ($_SESSION['validator'] == $_POST["hidden"])
{
 echo "validated";
}
?>

Reken er wel op dat nummer "5" normaal een random is

Sick-Boy

Legacy Member
massoo zei:
Ben je er nu mee aan het lachen? of wil je echt verduidelijking?

Ik weet hoe die tokens werken, in mijn eerste post stond dat het wel lukt met time() maar niet met microtime(). Uw post was dus niet echt nuttig voor mijn probleem.

De pagina werd meerdere keren geladen waardoor de sessie steeds een nieuwe waarde kreeg. Dit werd veroorzaakt door het ontbreken van een afbeelding in een van mijn mappen.

massoo

Legacy Member
Dan is mijn vraag voor jou:
Welk voordeel heeft microtime() tenopzichte van time() ?

Wat wil je bereiken met deze check te doen?:
Kijken dat je met dezelfde user te maken hebt ?

Sick-Boy

Legacy Member
Ik gebruik geen van de twee, die dienden enkel om het probleem te schetsen en de code te testen. Zoals je zelf zei is dat token een random string. Maar als de pagina elke keer tweemaal laadt zal die random string telkens veranderen.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan