位置: 编程技术 - 正文

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

  • 金税四期对企业的六点影响
  • 餐饮业税负上升有什么原因
  • 收入与成本不配合
  • 收到预付款的发票怎么写摘要
  • 普通发票不能抵扣进项税额怎么做账
  • 用友软件在哪里
  • 滞留票的处理
  • 劳动法相关法规
  • 建筑业异地预缴税款怎么抵扣
  • 将自产的产品用于对外投资
  • 软件销售购销合同
  • 在建工程转固定资产的条件
  • 工程预收账款的会计分录
  • 委托收款背书和转让背书
  • 收到销售折让的红字怎么做账
  • 营改增操作指引
  • 只有增值税进项怎么抵扣
  • 境外所得纳税
  • 专票住宿费认证怎么操作
  • 建筑业营改增实施指南
  • 营改增通知规定的税收优惠政策
  • 生活服务业加计扣除15%最新政策2019
  • 企业的其他业务是什么
  • 阻止系统蓝屏后怎么恢复
  • 房租发票需要缴房产税吗
  • 工程在建期间土地税滞纳金
  • 产品作为样品账务处理
  • 指定的网络名不再可用 共享打印机00x0000040
  • 系统托盘开不开
  • 研发费用加计扣除是什么意思啊
  • 公司整体收购协议书范本
  • 年度中间适用的预扣率高于全年综合所得年适用税率
  • php和py
  • 汽车消费税有发票吗
  • 如何使用php写一个网页
  • 商品流通企业会计科目表
  • 当月计算的增值税怎么算
  • 库存商品交增值税吗
  • 投标报名费怎么定
  • Chrome谷歌浏览器网页
  • wx-java
  • node.js的安装和配置
  • 写出php的常用四种基本变量类型
  • PostgreSQL之分区表(partitioning)
  • 履约保证金能否委托支付
  • 预提工资的会计处理
  • 企业停工期间发生的费用如何处理
  • 企业按行业划分可划分为哪些
  • mysql索引命令
  • 企业预缴所得税年末应该怎么交税
  • 红冲上月发票都附什么附件
  • 交易性金融资产是什么意思
  • 外资企业可以融资吗
  • 物业公司水费差额征税如何申报
  • 房地产企业销售现房是否预缴增值税
  • 非正常损失的进项税
  • 金蝶软件版本号有哪些
  • 安装sqlserver2000 IP地址出错怎样修改
  • CentOS 7.2下MySQL的安装与相关配置
  • windows模拟
  • win8的系统怎么装win7
  • linux命令大全详解
  • centos内存占用进程
  • 戴尔笔记本自带win7系统盘重装系统
  • Win8系统怎么安装
  • win7系统安装office
  • Extjs的FileUploadField文件上传出现了两个上传按钮
  • kill某个进程
  • dos 删除文件夹下所有文件
  • unity manifest
  • node.js的安装步骤
  • python获取entry里输入的值
  • javascript面向对象编程指南 pdf
  • jquery中each()方法的作用及使用
  • js uridecode
  • android:exported 属性详解
  • 搞农业种植
  • 车船税可以异地补办吗
  • 深圳市税务网上注销流程图
  • 超期未申报还能申报吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设