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

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年74元      
[公益] 节省一分零钱 献出一份爱心 温暖世间真情      
2022年 情人节 18
2022年 元宵节 19
2023年 元 旦 339
2022年 春 节 5
 
  • 本类新增
    本类热门文章
    您现在的位置:首页 >> 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
    点击:200
    录入:哲哲
    相关文章
    Baidu
    YiJiaCMS 6.1.0.10988 Build 21.12.28(MSSQL) 闽ICP备05000814号-1
    本空间由腾讯云(轻量应用服务器)提供,百度云加速提供加速防护

    Copyright©2000-2022