#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