【发布时间】:2020-03-20 20:32:04
【问题描述】:
我的 IIS 托管网站出现周期性问题,我的一个客户端浏览器(Google Chrome 77/78 或更高版本)突然开始每秒向我的网站提交数十个相同页面的请求。
用户始终是我的应用程序的有效、经过身份验证的用户。这些请求似乎也没有遵循我可以从我们的日志中确定的任何标准模式。例如,这不是授权重定向问题,它几乎就像浏览器正在发送数十个请求,这些请求是由用户以某种方式发起的。例如,打开我们页面的书签版本数十次。
查看请求详细信息,我可以看到以下获取标头:
HTTP_SEC_FETCH_USER: ?1
HTTP_SEC_FETCH_SITE: none
HTTP_SEC_FETCH_MODE: navigate
据我所知,这意味着该操作是用户启动的,并且它不是来自我自己的应用程序,就 ajax 请求或页面刷新而言。例如,当我在 Chrome 的新选项卡中打开我的页面时,我只能获得上述 fetch headers 组合。
这真的与 Chrome 浏览器本身有关吗?我无法在开发中复制该问题,但它现在已经发生了几次,我不确定从哪里开始确定原因。
【问题讨论】:
-
Chrome 声称正在预加载页面(即使用户没有真正点击链接),因此如果预测错误,这种魔法可能会适得其反,而且您可能无法在 IIS 端修复它。
-
嗨 Lex,是的,这是我首先怀疑的事情之一,但我不知道是不是这样。幸运的是,我现在有节流代码,似乎可以防止大规模洪水 - 但真的很想知道为什么会发生这种情况。
-
你有服务攻击吗?
-
为什么你认为它是 Chrome?代理是可以伪造的。我会查看客户端计算机,看看该客户端计算机上是否存在恶意软件或其他东西。也许安装了一个扩展?
-
嗨,JAZ 和 jdweng。因为请求是经过身份验证的,所以不太可能是 dos 攻击,但是是的,它可能是受影响客户端上的一个损坏的扩展程序或恶意软件。如果可能的话,我必须检查一下。
标签: c# asp.net-mvc google-chrome iis