引入cookie机制来处置惩罚(引荐进修:PHP编程从入门到通晓)
用户提交表单到后端,在 Cookie 中做标记,指定时间内反复提交无效。然则用户禁用 Cookie 这个要领就失效了。
<?php if (isset($_COOKIE['formFlag'])) { exit('error'); } // 处置惩罚数据 // 30秒内反复提交无效 setcookie('formFlag', time(), time() + 30);
Session
展现表单页面的时刻,生成随机数,同时存储在 Session 中以及表单隐蔽域中。第一次提交的时刻,对照胜利删除 Session 中的值。
应用PHP的Session功用,也能防止反复提交表单。Session保存在服务器端,在PHP运转过程当中能够转变Session变量,下次接见这个变量时,获得的是新赋的值,所以,能够用一个Session变量纪录表单提交的值,假如不婚配,则认为是用户在反复提交。
<?php if (!isset($_SESSION['formFlag']) || $_POST['formFlag'] != $_SESSION['formFlag']) { exit('error'); } // 处置惩罚数据 unset($_SESSION['formFlag']);
以上就是php怎样防备form反复提交的细致内容,更多请关注ki4网别的相干文章!