说来惭愧,头几天做项目的时候,涌现个初级毛病。在公司背景做表单提交,一是本身员工用,二是 html 本身来写的,没有考证表单反复提交,效果出错了。写出来记录下以便提示本身,时候不能忽视。
解决要领
实在要领有许多种,只举例几个简朴的来说说。
框架
许多框架都有防备反复提交的功用,人人应当都有相识,这里不再赘述。
前端
道理很简朴,用户点击提交以后,运用 JS 将提交按钮置灰即可。
后端
也就是运用 PHP 举行考证,固然不范围以下几种
Cookie
用户提交表单到后端,在 Cookie 中做标记,指定时间内反复提交无效。然则用户禁用 Cookie 这个要领就失效了。
<?php if (isset($_COOKIE['formFlag'])) { exit('error'); } // 处置惩罚数据 // 30秒内反复提交无效 setcookie('formFlag', time(), time() + 30);
Session
展现表单页面的时候,生成随机数,同时存储在 Session 中以及表单隐蔽域中。第一次提交的时候,对照胜利删除 Session 中的值。
<?php if (!isset($_SESSION['formFlag']) || $_POST['formFlag'] != $_SESSION['formFlag']) { exit('error'); } // 处置惩罚数据 unset($_SESSION['formFlag']);
以上就是php防备表单反复提交的要领引见(代码示例)的细致内容,更多请关注ki4网别的相干文章!