【发布时间】:2014-10-29 20:28:27
【问题描述】:
我发现了许多将 HttpOnly 添加到我的 cookie 的示例,但它对我不起作用,我不知道为什么。我找到的所有示例都是相同的,我从我找到的一篇帖子中复制了这个。我在 IIS 7.0 下使用 .NET 3.5。希望有人能告诉我我做错了什么?谢谢
<rewrite>
<outboundRules>
<rule name="Add HttpOnly" preCondition="No HttpOnly">
<match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" />
<action type="Rewrite" value="{R:0}; HttpOnly" />
<conditions>
</conditions>
</rule>
<preConditions>
<preCondition name="No HttpOnly">
<add input="{RESPONSE_Set_Cookie}" pattern="." />
<add input="{RESPONSE_Set_Cookie}" pattern="; HttpOnly" negate="true" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
更新
我想出了如何打开跟踪并发现前置条件是查看所有 cookie 作为一个整体,而不是每个单独的 cookie。
所以不要评估
Set-Cookie: myC5=we have S Cookie; path=/; secure
Set-Cookie: myC6=we have S Cookie; path=/; secure
Set-Cookie: myC7=we have S Cookie; path=/; secure; HttpOnly
正在评估
myC5=we have S Cookie; path=/; secure,myC6=we have S Cookie; path=/; secure,myC7=we have S Cookie; path=/; secure; HttpOnly
因为整个字符串都有 ; HttpOnly 在里面,preCondition 失败。
我该如何克服这个问题?有什么想法吗?
【问题讨论】:
-
answer your own question 完全可以接受你知道吗?
标签: iis cookies rewrite httponly