X
活动推荐

阿里云高性能云主机2折293元/年

企业级性能云服务器限时2折起
新用户5折爆款服务器会场
查看详情 293元/年
阅读模式:

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

查看:4264  回复:0  类型:  来源:php自学网  标签 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 0

*有问题之处烦请在评论中指出非常感谢!
不是我想要的内容,继续搜索:

扫描二维码手机查看

发布评论:


登录:
  表情:
评论话题
推荐阅读:
centos 7搭建zabbix3.4   阅读:4961一步步带你,如何网站架构   阅读:3386最简单的Banner轮播淡入淡出效果代码及实现思路(附带源码)   阅读:11680mysql中文分词全文搜索索引讯搜的安装   阅读:5571php 读取和设置redis的键值   阅读:6346centos 7 开启网络   阅读:5189centos 7 修改系统屏幕分辨率   阅读:37212封装php redis缓存操作类   阅读:7473mysql共享锁和排他锁详解   阅读:6006最简单的Banner轮播左右切换效果代码及实现思路(附带源码)   阅读:27729shell脚本批量删除几天前的文件   阅读:7742shell发送邮件脚本   阅读:5362php 统计网页打开耗时和脚本运行内存   阅读:5766linux top命令详解   阅读:7566给php7安装redis扩展库   阅读:6850PHP 鸟哥:我也曾经是“不适合”编程的人   阅读:11590php生成二维码   阅读:4893简单的DOS攻击之死亡之ping详解   阅读:39886mysql5.7主从同步配置   阅读:2824TCP的三次握手(建立连接)和四次挥手(关闭连接)   阅读:2154centos 7 安装 redis 3.2.9   阅读:5643linux php7编译安装mongodb扩展   阅读:6965给php7安装redis扩展库   阅读:6850最简单的Banner轮播淡入淡出效果代码及实现思路(附带源码)   阅读:11680php打印九九加法表   阅读:8073linux命令中执行php脚本   阅读:6014php+redis实现消息队列   阅读:11193php连接redis   阅读:4752php设置cookie为HttpOnly防止XSS攻击   阅读:10537centos 7 安装 samba 服务   阅读:5446linux php7安装yaf扩展   阅读:6811面试的时候回去等通知,等电话的真实意思   阅读:20029php打印九九加法表   阅读:8073给php7安装redis扩展库   阅读:6850知乎百万赞作者告诉你:年薪百万的人都在靠什么赚钱   阅读:5191linux教程,鸟哥私房菜(pdf全集)   阅读:7459shell脚本统计当前服务器并发连接数   阅读:5855shell脚本破解十位数内的所有纯数字rar加密压缩包脚本   阅读:7366php压缩页面的html代码一行显示   阅读:5972shell发送邮件脚本   阅读:5362javascript点击复制内容   阅读:5530比phpexcel还要简单的excel CSV 一键导入数据到数据库   阅读:4261php生成二维码   阅读:4893mysql共享锁和排他锁详解   阅读:6006nginx安装mysql和json模块   阅读:3212php打印九九加法表   阅读:8073centos 7 忘记root密码   阅读:3986mysql的四种索引类型   阅读:17902移动端js触摸touch详解(附带案例源码)   阅读:14073centos 7 安装 mysql-5.7   阅读:5194