位置: 编程技术 - 正文

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

  • 增值税相关政策
  • 人力资源公司代招的岗位可以去吗
  • 企业其他综合收益减少应该怎么处理
  • 发票一年不能开超多少才不扣税费
  • 委托加工继续生产增值税计入成本吗
  • 采暖费报销发票
  • 土地使用权作为固定资产的情况
  • 应付未付的职工工资属于什么会计科目
  • 金蝶标准版结转损益发生错误
  • 增值税预交怎么计算
  • 国外公司怎么付款给国内
  • 货运发票和提供建筑服务的专票备注怎么写?
  • 土地增值税暂行条例实施细则2022
  • 老项目简易征收可以用进项抵扣吗
  • 2018年工会经费返还比例
  • 借款利息开什么票
  • 增值税出口退税计算
  • 税控盘没有反写会怎样
  • 企业所得税减免所得税额怎么算
  • 淘宝无票采购账务处理
  • 投资设立民间非经济组织
  • 增值税进项转出后企业所得税调整是含税价还是不含税价
  • 应收账款坏账收回会计处理
  • efi bios u盘启动
  • 应收账款保理会计处理 会计视野
  • 收到财政厅的补助怎么办
  • 暂估入库材料分录
  • 如何查企业是否上市公司
  • 个体工商户与其经营者构成共同侵权吗
  • scchost.exe - scchost是什么进程 有什么用
  • 应付票据抵付应付账款
  • php关键字的意思
  • 君子兰的养殖方法
  • wordpress文章主题
  • 塔菲尔区域
  • php连接mysql数据库四步
  • thinkphp wherein
  • redisson php
  • 7z命令行详解
  • 企业收到企业借款需要交税
  • 没有盈利的单位叫什么
  • 网上抄税报税操作流程
  • 二季度报表是累计数吗
  • 织梦模板安装完整教程
  • mongodb导入数据三种方式
  • 如何在税控盘上变更一般纳税人
  • 盘盈固定资产如何处理
  • 工业企业出租设备租金计入什么科目
  • 应收应付会计分录大全
  • 生育津贴是否需要缴纳增值税
  • 公司向法人借款协议
  • 驾驶员培训费纳税吗
  • 无形资产减值迹象有哪些
  • 购买展示样品是指什么
  • 实收资本印花税最新规定
  • 商业保险的养老保险可靠吗
  • 固定资产一次性扣除政策
  • 开红字发票必须要收回原发票并作废吗?
  • 筹建期开办费明细
  • 公司购买手表入什么科目
  • 公司汇票是什么
  • mysql1194
  • win2003server远程设置
  • centos5.5加固
  • windefault.exe - windefault是什么进程
  • linux获取操作命令的使用方法或参数选项内容
  • 苹果电脑如何访问windows共享文件
  • win10rs2是哪个版本
  • css spirit
  • webpack中CommonsChunkPlugin详细教程(小结)
  • css各种滤镜的应用是什么
  • OpenGL ES Emulator比较
  • 批处理修改hosts 加一行
  • unity3d 脚本
  • shell脚本实现批量登录并执行命令
  • 定额发票是什么票据类型
  • 外经证办理流程在哪个网站申请
  • 北京24小时税务自助机
  • 河南省地方税务局公告2017年第4号
  • 企业税费如何计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设