<?php
/*
*PHP简单利用token防止表单重复提交
*/
session_start();
header("Content-Type:text/html;charset=utf-8");
functionset_token(){
$_SESSION['token']=md5(microtime(true));
}
functionvalid_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['web'])){
if(!valid_token()){
echo"tokenerror,请不要重复提交!";
}else{
echo'成功提交,Value:'.$_POST['web'];
}
}else{
?>
<formmethod="post"action="">
<inputtype="hidden"name="token"value="<?phpecho$_SESSION['token']?>">
<inputtype="text"class="input"name="web"value="www.jb51.net">
<inputtype="submit"class="btn"value="提交"/>
</form>
<?php
}
?>
|