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.
我需要使用特定的 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.