位置: 编程技术 - 正文

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 编码)

  • 去税局更正申报需要什么资料,忘记带营业执照
  • 买车要交哪些税收
  • 工厂房租没有发票怎么办
  • 补缴的税款和罚款的会计处理
  • 住房公积金发票
  • 个体户每月开票超3万
  • 现金股利缴纳个人所得税
  • 培训产生的住宿费算培训费吗
  • 销售方记账凭证怎么做分录
  • 财产保险合同的被保险人自其知道
  • 车辆购置税退税流程
  • 独立核算分公司注销需要清算吗
  • 其他货币资金是资产类科目吗
  • 厂家给经销商的搭赠政策
  • 存货的坏账准备转回吗
  • 出口商品一定要有条形码吗
  • 公司纳税人是什么意思是不是法人
  • 移动板房的税法是多少
  • 继承或赠与所得的房产
  • 管理不善造成的损失怎么处理
  • 开票软件上怎么抄税
  • 货物退回发票冲红会计分录
  • 投资性房地产属于流动资产吗
  • 固定资产清查盘亏账务处理
  • 回迁房所得税处理
  • 销售赠送怎么做账
  • 贴现利息计算器
  • 网页显示不全怎么回事
  • 建筑单位领用材料分录
  • 民办非企业年底额度不能低于多少
  • 营改增后一般纳税人税率
  • 未开票收入怎么计算增值税
  • 电脑虚拟内存不够
  • deepin怎么使用
  • php多表联合查询
  • 销售送礼品
  • 财政应返还额度年末有余额吗?
  • 材料发票可以抵税吗
  • php curl_init
  • linux怎样安装
  • 混合销售会计处理
  • php魔术函数
  • php常用设计模式(大总结)
  • 财税〔2017〕34号文件中提到的科技型中小企业是指哪种企业?
  • javaweb项目开发流程
  • 销售自己使用过的物品的税率
  • 应交税费如何调整
  • 如何让别人访问自己的qq空间
  • 前置测试模型
  • vue导航方式
  • 财政总预算会计的特点
  • 汽车维修企业怎么认定小微企业
  • 其他收益里的政府是什么
  • 利润表和资产负债表不平的原因
  • 直接转销法还允许使用吗
  • 退休人员的返聘协议模板
  • 小规模如何申报1个点
  • 公司收到劳务发票交个税吗
  • 账本页面设置
  • sql存储过程实例详解
  • 在centOS 7安装mysql 5.7的详细教程
  • centos6.9关闭防火墙命令
  • Vista 优化预读文件设置,提速开关机速度
  • blg是什么文件
  • win7运行慢如何解决办法
  • svcinit.exe - svcinit是什么进程
  • win7系统无法创建分区也无法定位
  • linux系统怎么弄
  • window10显示重启提示
  • bat批处理命令教程
  • perl中@_
  • 序列化为json
  • 创建网元
  • jquery 图片放大预览
  • python 数据结构 算法
  • 河北航天信息技术有限公司官网
  • 住宿增值税专票税点是多少
  • 地方税务局几点下班
  • 增值税申报表如何下载
  • 建筑行业增值税税率2021
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设