IIS 白名单 Header 值

IIS whitelist by Header value

我需要使用特定的 header 值创建一个白名单,每个没有该值的请求都不应具有访问权限,现在我正在使用“Url 重写”功能,但是我有点困惑。

我尝试使用“请求过滤器”来执行此操作,但我无法通过 header 允许进入,只能拒绝。

在请求过滤器中我有这样的东西:


|名称 |检查 |适用于 |拒绝字符串 |

|范例 | Headers | .html | “不允许”|

你可以先自定义一个UrlRewrite条件中的HTTPheader,然后用一个规则匹配所有的URL,用一个条件来检查httpheader,检查header 值并拒绝所有不是来自 UExamine 的请求。这里有一个案例供您参考:

<rules>
    <rule name="test" stopProcessing="true">
        <match url=".*" />
        <conditions>
            <add input="{HTTP_x_header}" pattern="^Headers$" negate="true" />
        </conditions>
        <action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." statusDescription="Using this site is not supported." />
    </rule>
</rules>

关于如何自定义HTTPheader可以参考这个link:customize HTTP header.