阅读模式:

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

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

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

扫描二维码手机查看

发布评论:


登录:
  表情:
评论话题
推荐阅读:
php翻转字符串   阅读:3379php生成二维码   阅读:6655linux时间戳有趣的情人节秒1234567890   阅读:5265phpexcel 超简单从数据库一键导出数据到excel教程   阅读:7080最简单的Banner轮播淡入淡出效果代码及实现思路(附带源码)   阅读:12973mysql数据库性能的基本优化   阅读:4398php显示刚刚、几分钟前、几小时前、几天前的函数   阅读:8219知乎百万赞作者告诉你:年薪百万的人都在靠什么赚钱   阅读:6260企业让你去面试,可能不是真的招人   阅读:5744什么是天使轮?什么是A轮融资?B轮融资?   阅读:4798霍金24岁博士毕业论文在线预览   阅读:5422栈和堆的区别   阅读:4824用php从1加到100的值   阅读:8378php连接redis   阅读:5508centos 7 设置 nginx-1.11.10 开机启动   阅读:7811mysql的四种索引类型   阅读:22192nginx安装mysql和json模块   阅读:4724知乎百万赞作者告诉你:年薪百万的人都在靠什么赚钱   阅读:6260centos 7 安装 redis 3.2.9   阅读:6450shell发送邮件脚本   阅读:7494霍金24岁博士毕业论文在线预览   阅读:5422小米手机端商城rem适配原理   阅读:6561php 统计网页打开耗时和脚本运行内存   阅读:6604linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:16901shell脚本破解十位数内的所有纯数字rar加密压缩包脚本   阅读:8725网站局部小图片优化-base64编码图片   阅读:12707mysql的四种索引类型   阅读:22192centos7开启交换内存   阅读:10640解决 nginx 413 request entity too large   阅读:4283shell脚本批量删除几天前的文件   阅读:9670php 使用 smtp.php 类在线发送邮件功能   阅读:5584html5 离线缓存的使用   阅读:4231人性漫画:打工与创业的残酷区别   阅读:4676php 生成图片,给图片加水印   阅读:6168最简单的Banner轮播淡入淡出效果代码及实现思路(附带源码)   阅读:12973php打印九九加法表   阅读:10034csv文件一键导入数据到mysql数据库   阅读:6509crontab+shell脚本实现定时备份mysql数据库   阅读:7469centos 7 修改系统屏幕分辨率   阅读:44028移动端js触摸touch详解(附带案例源码)   阅读:16359linux top命令详解   阅读:9197crontab+shell脚本实现定时备份mysql数据库   阅读:7469linux php7安装yaf扩展   阅读:8188phpexcel 超简单从excel表格一键导入数据到数据库教程   阅读:12022linux php7安装yaf扩展   阅读:8188用php从1加到100的值   阅读:8378ajax+php 实现一个简单的在线聊天室功能(附带源码)   阅读:9186网站性能优化-页面静态缓存   阅读:5323php 使用 smtp.php 类在线发送邮件功能   阅读:5584centos 7 安装 php-7.1.3   阅读:19697