Chrome сообщает о файле cookie как о небезопасном, даже если установлен флаг безопасности

#asp.net #.net #google-chrome #iis-7

#asp.net #.net #google-chrome #iis-7

Вопрос:

Наш поиск CMS больше не работает после цикла исправлений в эти выходные. Когда мы запрашиваем Chrome (другие браузеры возвращают результаты поиска) с помощью инструментов разработчика, мы видим, что эти cookie-файлы помечены как имеющие проблемы… но описание проблемы не имеет смысла, потому что для Secure установлено значение true, а для SameSite — значение None.

введите описание изображения здесь

Трудно понять, что здесь делать. Я думаю, что заставить 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. Ваша проблема решена? Если ваша проблема решена, я прошу вас отметить полезное предложение в качестве ответа. Это поможет другим людям, которые сталкиваются с такой же проблемой. Если ваша проблема все еще существует, попробуйте обратиться к решению, предложенному членами сообщества. Если и тогда у вас возникнут какие-либо дополнительные вопросы, то дайте нам знать об этом. Мы постараемся предоставить дополнительные предложения по решению проблемы. Спасибо за ваше понимание.

Ответ №1:

Вы могли бы попробовать использовать приведенное ниже правило перезаписи URL-адреса iis:

 <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://learn.microsoft.com/en-us/aspnet/samesite/system-web-samesite

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