防止form表单重复提交和防跨站请求攻击

  • 时间:2020-04-27 11:22 编辑: 来源: 阅读:210
  • 扫一扫,手机访问
摘要:利用php随机函数生成一个随机码,然后写入到session,在form表单中放置这个随机码,提交的时候进行并对,如果两个值不一致,就是重复提交或非法请求了,当页面刷新后又生成一个新的随机码,再比对。<?php    //表

利用php随机函数生成一个随机码,然后写入到session,在form表单中放置这个随机码,提交的时候进行并对,如果两个值不一致,就是重复提交或非法请求了,当页面刷新后又生成一个新的随机码,再比对。


<?php

    //表单页面

    session_start();

   

    $s_code = md5(mt_rand(0,10000000));

    $_SESSION[‘s_code’]=$s_code;

?>


<?php

    //表单处理页面

    $c_code = $_POST[‘code’];

     if($c_code == $_SESSION[‘s_code’]){

        //通过

    }else{

        exit(‘重复提交或非法请求!’);

    }

?>


◆另外一个简单粗暴的方法:

echo "<script type='text/javascript'>alert('提交成功!');window.location.href='index.php';</script>";

当提交成功后,加上js跳转,再刷新页面就不会重复提交了。当浏览器再返回上一页的时候会提示文档已过期,也不会重复提交数据。

window.location.href='index.php';


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术文章|】Java 开发环境配置(2021-01-16 19:16)
【技术文章|java技术】Java简介 主要特性 发展历史(2021-01-16 19:10)
【技术文章|java技术】eclipse项目如何导入myeclipse项目中 如何把eclipse项目导入myeclipse(2020-12-20 22:06)
【技术文章|】如何将MyEclipse项目导入eclipse (2020-12-20 22:00)
【技术文章|java技术】如何用eclipse运行myeclipse做的项目(2020-12-20 21:55)
【技术文章|java技术】怎么分辨java框架(2020-12-17 16:27)
【技术文章|】Editplus批量转换java utf-8 bom源码文件为utf-8编码文件(2020-12-13 20:21)
【技术文章|java技术】java utf-8 bom源码文件为utf-8编码文件(2020-12-13 20:17)
【服务项目|】java程序代写计算机毕业设计代做(2020-10-20 16:54)
【热点|国内】第七次全国人口普查“查人”又“查房”,还可自主填报(2020-10-20 14:49)
底部广告
网站首页 | 关于我们 | 广告合作 | 联系我们 | 隐私条款 | 免责声明 | 站点地图
CopyRight 2014-2024 学帮网 |粤ICP备18000800号-4