gpt4 book ai didi

C# SameSite 标志问题

转载 作者:行者123 更新时间:2023-12-05 02:09:22 24 4
gpt4 key购买 nike

由于 Chrome 将在 2 月 4 日从 80 版本开始强制使用 SameSite=None 和 Secure 标志,我尝试使用以下代码行:

HttpCookie myCookie = new HttpCookie("XYZ");
myCookie.Value = newCookie;
myCookie.SameSite = SameSiteMode.None;
myCookie.Secure = true;
myCookie.Expires = DateTime.Now.AddYears(2);
context.Response.Cookies.Add(myCookie);

但是这些属性不起作用。即使在将 .Net Framework 版本升级到 4.8 之后,此标志也没有为 cookie 设置所需的 SameSite=None。我面临的另一个奇怪问题是,当我在 web.config 中使用以下行时,在从服务器请求它时,该标志在我的 cookie 中正确设置:

<sessionState cookieSameSite="None" />
<httpCookies sameSite="None" requireSSL="true" />

但是当我进行相同的配置并在负载平衡中的另一台服务器上发布时,它不起作用。

有没有人知道如何在 C# 中直接设置这个东西?

提前感谢您的帮助

最佳答案

您必须安装 .NET Framework 的 2019 年 12 月 10 日(或更高版本)累积更新。 Search the Microsoft Support site找到适用于您的 Windows 和 .NET Framework 版本的更新。

如果没有更新,ASP.NET 将永远不会将 SameSite=None 属性添加到响应 cookie。

通过更新,如果您显式设置 HttpCookie.SameSite,ASP.NET 将向响应 cookie 添加 SameSite=None 属性到 SameSiteMode.None 或者如果您设置 <httpCookies sameSite="None"> Web.config 中的属性。此更新还将 ASP.NET 表单例份验证和 session cookie 的默认 SameSite 模式更改为 Lax。要将它们改回无,请设置 <forms cookieSameSite="None"><sessionState cookieSameSite="None"> Web.config 中的属性。

关于C# SameSite 标志问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59955843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com