即使设置了安全标志,Chrome也会报告Cookie不安全

时间:2020-09-14 22:00:13

标签: asp.net .net google-chrome iis-7

在本周末的补丁周期之后,我们的CMS搜索不再可用。当我们通过开发人员工具查询Chrome(其他浏览器会返回搜索结果)时,我们会看到这些Cookie被标记为有问题...但是由于Secure设置为true,并且对问题的描述没有意义SameSite设置为“无”。

enter image description here

很难知道在这里做什么。我认为让Chrome认识到这些Cookie的配置正确可以解决我们的问题-但我似乎无法弄清楚问题出在哪里?

在我们的web.config中(CMS搜索一直进行到周日):

<compilation debug="false" targetFramework="4.8">
<httpCookies httpOnlyCookies="true" requireSSL="true" sameSite="None"/>
<sessionState cookieSameSite="None" mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20"/>

这是我们认为在周日安装的KB,导致CMS搜索停止工作: https://support.microsoft.com/en-us/help/4576486/kb4576486

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用以下iis URL重写规则:

<outboundRules>

  <clear />

  <rule name="Add SameSite" preCondition="No SameSite">

    <match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" />

    <action type="Rewrite" value="{R:0}; SameSite=None; Secure" />

  </rule>

  <preConditions>

    <preCondition name="No SameSite">

      <add input="{RESPONSE_Set_Cookie}" pattern="." />

      <add input="{RESPONSE_Set_Cookie}" pattern="; SameSite=None; Secure" negate="true" />

    </preCondition>

  </preConditions>

</outboundRules>

参考链接:

https://docs.microsoft.com/en-us/aspnet/samesite/system-web-samesite

https://docs.microsoft.com/en-us/aspnet/core/security/samesite?view=aspnetcore-3.1