我们用包含Transfer-Encoding的头阻止请求。
只有具有内容长度的请求才会以任何方式对应用程序产生allowed.This影响,以及如何在请求中发送transfer-encoding或Content-length。
发布于 2022-02-04 02:11:50
要做到这一点,有两种方法。
首先,您可以使用<scanHeaders>来使用Transfer-Encoding过滤一些请求。

您可以像这样添加过滤规则。它将扫描头部以检查Transfer-Encoding是否退出。如果值与Deny Strings相同,则请求将被阻塞。它很容易配置和添加。但缺点是,他只能判断标题的值是否与拒绝字符串匹配,也就是说,它不能判断某个范围值。我还没有找到如何允许这个规则的某个标题。
第二种是使用url重写规则。您可以添加这样的规则:
<rule name="deny rule" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{Transfer-Encoding}" pattern="value" />
</conditions>
<action type="AbortRequest" />
</rule>可以设置正则表达式以确定标头的值或值的范围。它也很容易配置,并可以允许某些头。只需将动作类型更改为None即可。
https://stackoverflow.com/questions/70976574
复制相似问题