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?