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

/* 
* PHP简单利用token防止表单重复提交 
* 此处理方法纯粹是为了给初学者参考 
*/  
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>   

你可能感兴趣的:(PHP简单利用token防止表单重复提交)