最近项目在运行过程中用户们又反应了一个问题,说会偶尔出现图片上传失败的情况。然后将那些失败的图片拿过来进行验证,果然问题出现了,用ie浏览器在上传附件时,会显示这个请求挂起了。用谷歌浏览器在上传附件时,会返回一个Provisional headers are shown,也就是临时的请求头。项目中使用的是F5做负载均衡,并且F5的IP绑定了WAF(网络中间设备,发布web服务时开启的安全策略),后面就是web应用服务器。

问题分析:大部分的附件都可以成功,就是偶尔有几个图片上传时,出现请求被挂起的现象。但直接通过web应用服务器IP访问,验证功能时,这些上传失败的图片都可以成功。并且这些图片在另存之后也可以上传成功。导致这样的问题,第一反应就是请求被F5拦截了。只要绕开F5之后上传失败的图片都没问题。不过。。。。。可达鸭眉头一皱。。。。。为什么图片在另存之后,继续通过F5上传图片,图片也会成功呢?

继续找原因,这些上传失败的请求想通过在F5抓包,看一下是什么情况。但这些请求都没有到F5。

这时候就想到了waf这个玩意儿。一个web应用防火墙,最后检查其日志时发现:Web应用防火墙日志其匹配特征与规则库massive_null_payload匹配,即上传的.jpg图片文件中的payload疑似含“命令注入”代码。简单来说就是这个图片不安全,处理方式也就很简单了,排查.jpg文件的安全性,核查原始.jpg文件MD5是否一致,排查.jpg文件宿主机的主机环境安全,必要时,进行相关主机杀毒清查动作。经过这一系列检查、操作后,用户们的问题得到解决。

以上是该项目出现的问题,如果有同学遇到和我相同的问题,并和这个项目的环境一样,可以检查一下对应的waf。如果只是问题一样但是环境不同,那么建议这些同学可以浏览一下这篇博客:https://blog.csdn.net/w05980598/article/details/79990222?utm_medium=distribute.pc_relevant_bbs_down.none-task--2~all~first_rank_v2~rank_v25-1.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task--2~all~first_rank_v2~rank_v25-1.nonecase

http文件上传请求在ie浏览器中被挂起,在chrome中出现Provisional headers are shown相关推荐

  1. php文件上传css,CSS_文件上传input file简便美化方案(css),文件上传input在各个浏览器里 - phpStudy...

    文件上传input file简便美化方案(css) 文件上传input在各个浏览器里表现形式都不一样: ie6 ie7,8,9 ff chrome 这里介绍一种简单实用的,在各种浏览器下表现一致的美化 ...

  2. java http 上传文件_java利用httpClient实现后台文件上传请求

    之前写过基于html和js的文件上传方法java 用springMVC 和HttpServletRequest 两种实现文件上传的方法和httpClient后台执行普通post请求的文章java通过h ...

  3. jfinal jboot 拦截器过滤文件上传请求 和 跨域解决方法

    public class PublicInterceptor implements Interceptor {@Overridepublic void intercept(Invocation inv ...

  4. github大文件上传:使用LFS (以及如何将lfs从仓库中移除!)

    文章目录 1. 前言 2. 正文 3. 其他 3.1. Github 的repo settings需要打开lfs按钮 3.2. LFS是要收费的 3.3. LFS取消比较容易失败 3.4. 更详细的操 ...

  5. 通过ajaxFileUpload异步请求上传文件(ajaxFileUpload+servlet实现文件上传下载)

    1.最终效果 实现选择图片(此处以图片为例,支持所有类型文件的上传),选择之后将选择的图片在页面中显示出来,点击上传,可以将文件上传到指定的地址中,上传成功后在当前页面自动显示下载标签. 源码下载地址 ...

  6. php文件上传绕过mime类型,文件上传限制绕过技巧

    严正声明:本文仅限于技术讨论,严禁用于其他用途. 简介 文件上传漏洞是web安全中经常利用到的一种漏洞形式.一些web应用程序中允许上传图片,文本或者其他资源到指定的位置,文件上传漏洞就是利用这些可以 ...

  7. 文件上传 java web_JavaWeb 文件上传下载

    1. 文件上传下载概述 1.1. 什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端,从服务器端下载文件到本地的过程.例如目前网站需要上传头像.上传下载图片或网盘等功能都是利用文件上传下 ...

  8. 一文了解文件上传全过程(1.8w字深度解析)「前端进阶必备」

    作者:蓝色的秋风 转发链接:https://mp.weixin.qq.com/s/cruL9JGZNZQFrMSrzJJWiQ 前言 平常在写业务的时候常常会用的到的是 GET, POST请求去请求接 ...

  9. SpringBoot文件上传源码解析

    一.SpringMVC文件上传源码分析前言(这部分我觉得原作者写的很好) 该如何研究SpringMVC的文件上传的源码呢? 研究源码并不是仅仅知道程序是怎样运行的,而应该从宏观的角度.不同的立场去看待 ...

最新文章

  1. Struts 2 标签库详解
  2. 模拟电路技术之基础知识(七)
  3. UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
  4. pythondatetime_Date
  5. @Async join
  6. 工作166:正确eachrt渲染方式
  7. 上海大学c语言作业答案,《上海大学C语言选择题》.doc
  8. 论文浅尝 | 面向跨语言实体对齐的知识图谱与实体描述协同嵌入方法
  9. Ubuntu 12.04 部署 PostGIS 2.1
  10. Fragment的使用
  11. LINUX C获取并设置环境变量
  12. 小知识--DOS命令2
  13. 安卓手机上虚拟linux系统教程,如何在安卓手机上安装Linux系统
  14. JLINK V9项目启动【jlink接口定义】【开启VCOM(虚拟串口)功能】
  15. Android Jetpack 之 DataStore 初探
  16. 入门级Pytorch+MINIST数据集实现手写数字识别
  17. airpods版本号_怎么看airpods版本号 苹果airpods查看固件版本教程
  18. Windows中通过命令行新建文件夹、新建文件
  19. 12306APP找回密码操作后账户被注销BUG
  20. 发光二极管之—工作原理图解分析

热门文章

  1. Pink Floyd -《THE WALL》 分析文章 (作者 辛迪)
  2. 【Java】爬虫,能不能再详细讲讲?万字长文送给你!
  3. 【RPA新手教学】UiBot—巧用变量使数据搬运功能更简单更稳定
  4. pycharm 教程(一)安装和首次使用
  5. 换汤不换药,苹果新系统对于降频仍无“疗效”?
  6. Android 8.1 Doze模式分析(三)——Deep Doze模式
  7. 微信小程序的bindinput和bindtap
  8. vue百度地图绘制行进路线/路书/路线规划/线路展示
  9. uni-app如何取消页面的默认返回按钮
  10. Arduino使用游戏摇杆joystick