PHP简单利用token防止表单重复提交

作者: siediyer 分类: PHP 发布时间: 2013-06-20 13:38
<?php

session_start();
function set_token()
{
 $_SESSION['token'] = md5(microtime(true));
}
function valid_token()
{
 $return = $_REQUEST['token'] === $_SESSION['token'] ? true : false;
 set_token();
 return $return;
}
//如果token为空则生成一个token
if( !isset($_SESSION['token'] )
 || $_SESSION['token'] == '' )
{
 set_token();
}

if(isset($_POST['test'])){
 if(!valid_token()){
  echo "token error";
 }else{
  echo time();
 }
}
?>
<form method=post action="">
 <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
 <input type="text" name="test" value="value">
 <input type="submit">
</form>

 

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

Title - Artist
0:00