位置: 编程技术 - 正文

php解决和避免form表单重复提交的几种方法(php eval绕过)

发布时间:2024-01-17

推荐整理分享php解决和避免form表单重复提交的几种方法(php eval绕过),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php接口防止重复请求,php技巧,php提供哪些函数来避免sql注入,php eval绕过,php eval绕过,php接口防止重复请求,php部署怎么防止源码,php遇到的问题,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

为什么要避免form表单被重复提交呢?因为我们不想让我们的服务器重复处理没必要的数据,同时我们也是避免我们的数据库产生重复的数据,避免表单重复提交也是让我们的网站更安全的一种表现。

先看一下有哪些情况下回导致表单重复提交呢,知道哪些情况下可能会出现表单重复提交就可以从根源处理表单重复提交的情况了。

下面的情况就会导致表单重复提交:

点击提交按钮两次。

点击刷新按钮。

使用浏览器后退按钮重复之前的操作,导致重复提交表单。

使用浏览器历史记录重复提交表单。

浏览器重复的HTTP请求。

网页被恶意刷新。

下面是几种解决办法:

一:利用js设置按钮点击后变成灰色

点击完按钮之后变成灰色就不能点击了,用户需要再次提交表单的话就要刷新页面之后重新填写数据再提交了。

二:利用session

php解决和避免form表单重复提交的几种方法(php eval绕过)

在session中放一个特殊标志。当表单页面被请求时,生成一个特殊的字符标志串,存在session中,同时放在表单的隐藏域里。接受处理表单数据时,检查标识字串是否存在,并立即从session中删除它,然后正常处理数据。

如果发现表单提交里没有有效的标志串,这说明表单已经被提交过了,忽略这次提交。

这使你的web应用有了更高级的XSRF保护

加载提交的页面时候,生成一个随机数,

$code = mt_rand(0,);

存储在表单的隐藏输入框中:

< input type=”hidden” name=”code” value=””>

在接收页面的PHP代码如下:

三:利用cookies

原理和session差不多,但是cookies一旦用户浏览器禁用cookies,这功能就失效了

四:利用header函数跳转

一旦用户点击提交按钮,处理完数据后跳到其他页面

五:利用数据库来添加约束

直接在数据库里添加唯一约束或创建唯一索引,一旦发现用户重复提交了,直接抛出警告或者提示,或者只处理第一次提交的数据,这是最直接有效的方法,要求前期的数据库设计和架构要考虑周全.

六:Post/Redirect/Get模式。

在提交后执行页面重定向,这就是所谓的Post-Redirect-Get (PRG)模式。简言之,当用户提交了表单后,你去执行一个客户端的重定向,转到提交成功信息页面。

总结

标签: php eval绕过

本文链接地址:https://www.jiuchutong.com/biancheng/301731.html 转载请保留说明!

上一篇:总结PHP删除字符串最后一个字符的三种方法(总结php删除字符的方法)

下一篇:PHP数组编码gbk与utf8互相转换的两种方法(php 编码)

  • 递延所得税资产和所得税费用的关系
  • 销售货物业务的销项税额怎么计算
  • 免征增值税的项目如何开发票
  • 车辆购置税和车船税的区别在哪
  • 税收优惠政策有什么好处
  • 销售服务增值税税率
  • 支付给职工以及为职工支付的现金包括哪些
  • 公司合作分红
  • 公司给个人的补偿金需要交税吗
  • 弥补上年度亏损
  • 季度利润表格式
  • 可以向国外账户汇人民币吗
  • 企业所得税汇算清缴账务处理
  • 不动产出租属于什么收入
  • 增值税的工程服务有哪些
  • 计算完工产品成本和月末在产品成本
  • 未分配利润的计税基础是
  • 建筑施工企业印花税计税依据
  • 存货的计税价格是什么
  • 个人名下车辆过户
  • 销售换货怎么做账务处理
  • 金蝶财务软件不能反结账
  • 开票系统维护费必须要交吗
  • 账务中如何把短期借款转变为实收资本?
  • 计算房产税租金会计分录
  • 未确认融资费用的期初余额
  • 企业筹建期间可以自己发农民工工资么
  • 购买活动赠品会计分录
  • 出售废品收入
  • 飞机票本身包含保险吗多少钱
  • 增值税税率简易征收
  • xbox无法连接无线网络
  • 503错误的原因和解决方法
  • 非合理损耗怎么做分录
  • 计提固定资产折旧怎么做会计科目
  • 木星应该涂什么颜色
  • 十分钟带你了解阿氏圆
  • 其他应收款超过一年是12个月吗?
  • 个人所得税如何计算
  • 消费税计算包括关税吗
  • 出现质量问题赔偿标准
  • multipartfile 多文件上传
  • 收到企业所得税退税会计分录怎么做
  • 公司基本户可以收款吗
  • 房屋租赁费发票备注栏需要写什么?
  • 社保缴费工资和实发工资不一样
  • zend framework手册
  • point network
  • Windows7配置启用ca证书
  • 什么时候进项税转出
  • 增值税电子发票怎么下载
  • vue移动组件
  • 其他科技推广服务业可以加计扣除吗
  • sql server触发器的作用
  • mysql数据库导出xml的实现方法
  • 发票已开不确认收入可以做吗?
  • 工程款抵房款什么意思
  • 计提本月工资的账务处理
  • 供货方代垫运费计入什么科目
  • 暂估入库可以隔几个月再冲回吗
  • 营业账簿印花税怎么申报
  • 党建经费可以购买什么
  • 财务会计的基本概念
  • 计提资产减值准备会计科目
  • mysql count详解及函数实例代码
  • win10不能显示桌面
  • win8使用教程和技能
  • windows无法配置在此硬件上运行
  • 安卓游戏模拟游戏制作
  • unity 扩展编辑器
  • js的getattribute
  • ssh -keygen
  • 单页图片和文字怎么设置
  • linux反弹shell方法
  • 开源项目怎么做
  • 在jquery中使用什么方法获取和设置属性
  • javascript总结笔记
  • 哪个机场离东莞樟木头最近
  • 上海市黄浦区有什么路
  • 郑州市地方税务局新郑国际机场分局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号