【问题标题】:How to set same-site to HTTPCookie in asp.net 4.5?如何在 asp.net 4.5 中将同一站点设置为 HTTPCookie?
【发布时间】:2020-10-04 07:49:57
【问题描述】:
我正在处理遗留代码。有一个新的 cookie 更新要求设置相同站点变量。但是,对于 ASP.NET 4.5,HttpCookie 没有该参数(相同站点)。所以我在创建 HttpCookie 时无法设置它。我不知道该怎么做...它确实具有安全和 HttpOnly 的参数。我应该在javascript中找到cookie并尝试在那里设置相同的站点吗?这似乎很hacky并且容易被利用。
【问题讨论】:
标签:
c#
asp.net
asp.net-mvc-4
【解决方案1】:
我刚刚想通了。您不能为 Asp.Net 4.5 设置同一站点。
但是你可以在web.config中设置为重写规则:
<rewrite>
<outboundRules>
<clear />
<rule name="Add SameSite" preCondition="No SameSite">
<match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" />
<action type="Rewrite" value="{R:0}; SameSite=strict" />
</rule>
<preConditions>
<preCondition name="No SameSite">
<add input="{RESPONSE_Set_Cookie}" pattern="." />
<add input="{RESPONSE_Set_Cookie}" pattern="; SameSite=strict" negate="true" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>