您正在使用IPV4(3.238.252.196)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]文明驾车我带头,文明行路我带头,礼貌让座我带头      

【腾讯云】多款云产品1折起,买云服务器送免费机器,最长免费续3个月      
[公益] 节省一分零钱 献出一份爱心 温暖世间真情      
2022年 中秋节 30
2022年 国庆节 51
2023年 元 旦 143
2023年 春 节 164
 
本类新增
本类热门文章
您现在的位置:首页 >> PHP >> 内容
php 表单令牌防止重复提交原理
内容摘要: 在生成表单的时候,为防止表单重复提交。在form表单中添加一个隐藏的input标签来存放令牌,等到提交的时候,和表单一起提交,提交以后和生成的session值作比较,通过这种方式来达到防止重复提交的目的,简要代码如下.例子,session方法,代码如下:?phpif($_POST){if($_SESSION['token']!=$_POST['token']......
在生成表单的时候,为防止表单重复提交。在form表单中添加一个隐藏的input标签来存放令牌,等到提交的时候,和表单一起提交,提交以后和生成的session值作比较,通过这种方式来达到防止重复提交的目的,简要代码如下.

例子,session方法,代码如下:

<?php

if($_POST){

if($_SESSION["token"]!=$_POST["token"]){

die("非法提交!");

}else{

echo"安全提交!";

}

}

$_SESSION["token"]=md5(rand(1,999));//没生成一次表单,修改一次值,不要在post处理前修改它,不然无法比对www.phpfensi.com

?>//开源代码phpfensi.com

<formaction="1.php"method="post">

<inputtype="hidden"value="<?phpecho$_SESSION["token"]?>"name="token">

<inputtype="submit"value="提交"/>

</form>

例子,cookie+md5方法,代码如下:

<?php

$value=$_COOKIE[“value”];//读取上一次设置的Cookie值

if(count($_POST)){

$long=“”;

while(list($key,$value)=each($_POST))$long.=$value;

$hash=md5($long);

setcookie(“value”,$hash,time()+60*60);//重新设置cookie

}

if($value!=$hash){

//如果两次的MD5值不一样就对数据进行进一步操作

}else{

//如果两次MD5的值相同,告知用户提交失败,为重复提交表单

}

?>

上一篇:利用cookie实现用户自动登录的代码 下一篇:PHP和mxml 实现FLASH 曲线图
发布日期:2022/1/11
手机扫二维码直达本页
发布时间:12:32:23
点击:13
录入:哲哲
相关文章
Baidu

YiJiaCMS 6.3.1.220701(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,百度云加速提供加速防护
Copyright©2000-2022