Bir belirteç Re-issueing

0 Cevap php

Benim formunda, ben bir oturumda kaydedilir ve form gönderildiğinde mevcut olması gereken bir simge vardır:

$token = hash('sha256', rand() . microtime() . $_SERVER['REMOTE_ADDR']) // rand as possible
$_SERVER['token'] = $token;

Şimdi şeklinde bir gizli değer vardır:

<input type="hidden" name="token" value="<?php echo $token;?>">

Bu formu ben teslim zaman ben oturumda belirteci uygun olup olmadığını kontrol edin:

if ($_POST['token'] !== $_SESSION['token'])
{
// show error here
}
else
{
//carry on normally
}

Kullanıcı hatalı form doldurur Ancak, ne olur? Çıktı zaten gönderildi çünkü oturumunda tekrar belirteci değiştiremezsiniz. Ne önerirsiniz?

0 Cevap