位置: 编程技术 - 正文

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

编辑:rootadmin

推荐整理分享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 编码)

  • 普票税率错了要收回作废吗
  • 期末应交税费有余额吗
  • 公司买房子可以贷款多少
  • 营业外收入做销项税调整
  • 做网站的费用会计分录
  • 建筑工地加油计入什么科目
  • 工商营业执照已经年报为什么显示未公示
  • 社保基金会割肉操作吗
  • 税收的基本特点有
  • 通信服务费包括哪些
  • 原材料出现贷方余额
  • 监控系统计入开户费用吗
  • 建筑业开票金额与审定金额之间的关系
  • 开出技术服务费的账务处理
  • 营改增之后的增值税
  • 国家知识产权局商标注册
  • 公司一直零报税,有问题吗
  • 出口企业增值税怎么算
  • 物流企业的大宗商品仓储用地是什么意思
  • 清算时土地增值税计税依据
  • 个税申报方式可以修改去年的吗
  • 在建工程暂估入库的账务处理
  • 行政事业单位绿化工程完工应结转资产吗
  • 财务费用算营业利润吗
  • 小规模纳税人金融服务税率
  • 去年的管理费用怎么冲
  • windows7中右键的作用
  • linux安装c语言环境
  • 收到其他公司退款
  • 资产利润率和资本利润率监管标准
  • 增值税红字发票申报表怎么填
  • 安装win7的步骤
  • php自动跳转页面
  • php怎么自学
  • linux怎么创建一个用户组
  • 支付代销手续费缴纳增值税吗
  • ekb install
  • 深度学习和日常代码中遇到的报错汇总及解决方案,持续更新中。。。。
  • kcleaner.exe是什么
  • php实现简单的登录验证
  • php和mysql的联合使用
  • 前端如何调用后端方法
  • 开发成本怎么做分录
  • 【GoF 23】23种设计模式与OOP七大原则概述
  • 存货降价销售的会计分录
  • 深入理解linux内核
  • 2022-8-29 javaweb 第一天 servlet/tomcat
  • 织梦使用手册
  • 资质使用费怎么收
  • 委托加工应税消费品
  • 递延收益为什么是递延所得税资产
  • 纳税人识别号和公司税号一样吗
  • MySQL入门教程
  • 暂估入库价格是否含税
  • 借管理费用贷应交税费个人所得税
  • 公司支出发票
  • 现金抵用券使用说明怎么写
  • 哪种情形的货物或者服务可以采用竞争性谈判方式采购
  • 其他应收款的二级科目
  • 商誉的算法
  • 商业企业可将商品分为哪三类
  • win8怎么设置自动开机
  • linux日志数据种类
  • win10系统自带虚拟机怎么用
  • jquery关闭当前页面
  • html5字体闪烁
  • python os.access
  • nodejs xhr
  • javascript基础编程
  • javascript+
  • jquery异步提交表单
  • python如何查看
  • python 多线程
  • 百旺税控密码忘记了怎么找回
  • 增值税税控开票软件密码不知道了怎么办
  • 大连税务稽查局魏禾简历
  • 开企业资信证明怎么办?需要哪些材料?
  • 契税纳税申报表在哪里拿
  • 出售固定资产税收怎么算
  • 公车补贴计入工资吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设