Un token c'est un paramètre que tu rajoutes dans ton formulaire pour t'assurer que c'est bien l'utilisateur qui a fait l'action.
Exemple :
page1.php
<?php
session_start();
$_SESSION['token'] = md5(rand(1,100000000));
?>
<form action="page2.php" method="POST">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
... et le reste de ton formulaire
</form>
page2.php
<?php
session_start();
if (isset($_POST['token']) && $_POST['token'] == $_SESSION['token']) {
// Le token est bon, on peut continuer //
}
?>
Dans la page 1, on définit le token qui devrait être retransmit à la deuxième page par le client, la valeur de ce token est aléatoire pour rendre impossible le fait de savoir cette valeur d'avance. Ainsi, la requête doit absolument passer par ton site et l'utilisateur doit absolument faire le click sur ton site pour pouvoir continuer.
C'est le moyen le plus efficace pour t'assurer que l'utilisateur est passé via ton site et qu'il ne s'agit pas d'attaque de type CSRF.
|