同一个页面监测到请求了2次甚至多次的问题

这是一个罕见的 BUG,前台工程师犯错导致多余的请求开销。

故障现象:

服务器日志检测到同一个页面客户端连续传来两次 GET 请求,且间隔时间非常短,可以忽略那种。通过 microtime() 跟踪发现是几个微妙级别。

第一个请求是正常的。

第二个请求经过抓包分析,发现 http_accept 为 image 类型。

使用了多个浏览器, 发现 webkit 内核的都有这个问题,trident 内核的没有。在排除了黑客插件木马可能性进一步分析http报文,发现此请求是由于CSS里面的一句话 background:url() 为空,导致浏览器又请求了一次服务器根域名,并且是做为 http_accept 为image类型的报文请求。

等效于这样写 <img src="http://www.csdn.net"> , 这样做导致浏览器会使用image容器去请求html页面

且只有webkit内核浏览器会解释并发出请求。

解决办法:删掉 background:url() 解决。

----------------------------

此问题非常罕见,但是可以作为一个攻击的手段。

具体做法就是伪造 http_accept 为 image 请求,在这种情况下某些防火墙默认策略是放行通过的,依此可能构建 DDOS 攻击,甚至基于CSS的攻击。

解决办法是在 PHP 的 header 里面检测 http_accept 排除image请求,有意思的是在构建排除代码的过程中发现部分不规范的搜索引擎利用这个漏洞,发送的 http_accept 为 *.* 或者 空 的报文。如果遇到这种请求 99% 都是 bot spider。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AKULAKK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值