Есть ли в PHP токен аутентификации, подобный Rails? - PullRequest
5 голосов
/ 25 февраля 2011

Есть ли в PHP собственная версия токена аутентификации Rails?

<meta name="csrf-token" content="<%= form_authenticity_token %>" />
<meta name="csrf-param" content="authenticity_token" />

Если нет, то как лучше всего добиться такой же функциональности?

1 Ответ

8 голосов
/ 25 февраля 2011

При выводе в форму:

$token = md5(time() . rand(1,100));
$_SESSION['token'] = $token;

<input type='hidden' name='token' value='<?=$token;?>'/>

После POST:

if(empty($_POST['token']) || $_POST['token'] !== $_SESSION['token']){
  exit("Bad token!");
}
unset($_SESSION['token']);
...