写完php表单后发现,F5重新整理会重新送出上次的动作苦恼一阵子
以下是我的解决方法,来源忘了XD
在该表单.php加入
<?php@session_start();$security =false; // 是否是有效的执行if($_POST) { $security = $_POST['privatetoken'] == $_SESSION['token']; if($security){ unset($_SESSION['token']); }}$token=md5(getrandcode());$_SESSION['token'] = $token;function getrandcode(){ $str =array(1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f','g','h'); $res=''; for($i=0;$i<4;$i++){ $rand=mt_rand(1,16); $res .=$str[$rand]; } return $res;}if($security){// ... DIY ... }?>
表单内加入
<form ...> ... <input type="hidden" name="privatetoken" value="<?php echo $token;?>"></form>