阅读模式:

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

查看:4683  回复: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

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

扫描二维码手机查看

发布评论:


登录:
  表情:
评论话题
推荐阅读:
session与cookie的区别   阅读:3929一键分享到QQ空间、QQ好友、新浪微博、微信代码   阅读:124952php删除一个文件夹内的所有文件夹和文件   阅读:4482linux php7安装yaf扩展   阅读:7843php打印九九乘法表   阅读:9008给php7安装redis扩展库   阅读:7831简单的DOS攻击之死亡之ping详解   阅读:49913给网站添加一键新浪微博登录的功能   阅读:6123mysql5.7开启sql日志的配置   阅读:8404html5 离线缓存的使用   阅读:4078比phpexcel还要简单的excel CSV 一键导入数据到数据库   阅读:5119php冒泡排序法   阅读:13449html5 离线缓存的使用   阅读:4078小米手机端商城rem适配原理   阅读:6374php 生成图片,给图片加水印   阅读:5300给网站添加一键qq登录的功能   阅读:6862php swoole搭建简单的聊天室   阅读:3207html5 离线缓存的使用   阅读:4078linux php7编译安装mongodb扩展   阅读:8222javascript获取两个日期间的所有日期   阅读:6109mysql5.7主从同步配置   阅读:4581用php从1乘到100的值   阅读:5899centos 7.2 添加php7 的 php-fpm 开机启动   阅读:23236mysql中文分词全文搜索索引讯搜的安装   阅读:6325mysql数据库性能的基本优化   阅读:4282php冒泡排序法   阅读:13449网站局部小图片优化-base64编码图片   阅读:11116移动端自适应rem原理   阅读:9276centos 7搭建zabbix3.4   阅读:5963小米手机端商城rem适配原理   阅读:6374php 统计网页打开耗时和脚本运行内存   阅读:6385centos 7 设置 nginx-1.11.10 开机启动   阅读:7581php连接redis   阅读:5337php翻转字符串   阅读:3141把php session 会话保存到redis   阅读:6768phpexcel 超简单从excel表格一键导入数据到数据库教程   阅读:11676centos 7 修改系统屏幕分辨率   阅读:42275把php session 会话保存到redis   阅读:6768crontab+shell脚本实现定时备份mysql数据库   阅读:7207php生成二维码   阅读:6419php 生成图片,给图片加水印   阅读:5300javascript对cookie操作详细代码函数   阅读:5009mysql5.7主从同步中binlog同步模式详解   阅读:6130简单的DOS攻击之死亡之ping详解   阅读:49913mongodb设置shell开机启动脚本   阅读:9267封装php redis缓存操作类   阅读:8501php打印三角形   阅读:8419mysql的四种索引类型   阅读:21073centos 7 安装 php-7.1.3   阅读:18890mysql5.7主从同步中binlog同步模式详解   阅读:6130