位置: 编程技术 - 正文

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

  • 国有划拔土地房整体可以买卖吗
  • 一次性加速折旧汇算清缴怎么填报
  • 给个体工商户付款可以到个人账户
  • 固定资产无法使用不能带来经济利益是否需计提租金
  • 五联发票一般用于哪种单位
  • 个体工商户税收怎么算
  • 个体工商年报怎么弄
  • 分公司独立核算和非独立核算区别
  • 合同履约成本合同结算如何处理抵消
  • 股东撤资退出的处理方式
  • 注册资本金印花税什么时候缴纳
  • 公司为员工异地调岗
  • 盘亏存货需要进项税额转出吗
  • 餐馆的前期投资预算
  • 什么情况下需要写答
  • 实际销售金额是开票金额吗
  • 高新技术企业资助
  • 年底增值税有余额吗
  • 小规模需要公账还是私账
  • 小规模季报利润表本月金额和本年累计金额
  • 应收票据背书转让名词解释
  • 房屋装修费是否分摊到地下车位成本
  • 员工给公司代垫的款项分录
  • excel中在多个单原格中输入相同数据
  • windows怎么禁用网络
  • 印花税需要哪些部门核准
  • 消费税和购置税怎么算
  • 获取url的参数有哪些方法
  • 广告公司收到广告费发票如何入账
  • 蟹爪兰的养殖方法和浇水
  • 1.启动前端项目怎么做
  • 企业合并的合并范围
  • 赤狐 (© Yossi Eshbol/Minden Pictures)
  • thinkPHP模板不存在抛出异常
  • 企业所得税的计提和缴纳分录
  • 叶面积指数名词解释
  • PHP isset()与empty()的使用区别详解
  • 使用nvm安装nodejs后无法执行node命令
  • php aes加密解密
  • php 截断
  • 代扣费用会计分录
  • 账本印花税怎么申报缴纳
  • Pythonround函数作用
  • python中的参数传递
  • 企业所得税期间费用明细表
  • 加计扣除的增值税怎么做账
  • 购车贷款分期利率
  • 文化建设费税率
  • 修理费用的会计怎么做账
  • 公司年度汇算清缴费用多少
  • 以前年度损益调整怎么做账
  • 工程造价不能超出多少预算
  • 企业接受股东划入资产的处理
  • 将购进的材料用于自制生产用设备
  • 现金日记账年结怎么做
  • 国有控股企业股权转让程序
  • 自营工程的账务处理
  • 企业职工薪酬如何确定
  • 生产型企业出口退税计算
  • 银行汇票可用于异地结算吗
  • mysql 的replace into实例详解
  • window 脚本
  • winXP运行内存查看
  • 苹果系统怎么更新
  • win7诊断策略服务未运行是电脑问题还是网络
  • mac safari浏览器网页不能正常显示
  • 批处理程序
  • jquery函数定义
  • edittext弹出软键盘
  • python怎么计数
  • vue路由怎么实现
  • 联机游戏
  • shc加密后不能运行
  • unity入门教学
  • 自定义view ondraw
  • js闭包的使用
  • java 视频教程
  • python写脚本教程
  • 留抵税额如何抵扣
  • 跨境电商出口商品结构
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设