在 ASP.NET 中设置 SameSite=None 和安全
Setting SameSite=None and Secure in ASP.NET
了解为防止跨站点伪造而实施的 SameSite
更改。
资料来源:https://blog.chromium.org/2019/10/developers-get-ready-for-new.html
我正在尝试将其值设置为 "None" 并按照宣传使用 Secure
。
我目前的web.config
设置如下:
<system.web>
<sessionState cookieless="UseCookies"
timeout="20"
cookieSameSite="None"
xdt:Transform="Replace"
xdt:Locator="Match(cookieless)"/>
</system.web>
但我仍然收到以下错误:
A cookie associated with a resource at `mywebsite.net` was set with `SameSite=None` but without `Secure`. A future release of Chrome will only deliver cookies marked `SameSite=None` if they are also marked `Secure`.
如何在上面的 web.config 文件中指定 secure
属性?任何线索将不胜感激。
根据 Microsoft 的 link,sessionState 没有该属性,因此它返回到 httpCookies 部分。
https://docs.microsoft.com/en-us/aspnet/samesite/system-web-samesite
希望对您有所帮助。
您也可以在每次创建 cookie 时设置它
using SameSiteMode = Microsoft.AspNetCore.Http.SameSiteMode;
....
context.HttpContext.Response.Cookies.Append(cookie.Key, cookie.Value,
new CookieOptions { SameSite = SameSiteMode.None,Secure = true });
了解为防止跨站点伪造而实施的 SameSite
更改。
资料来源:https://blog.chromium.org/2019/10/developers-get-ready-for-new.html
我正在尝试将其值设置为 "None" 并按照宣传使用 Secure
。
我目前的web.config
设置如下:
<system.web>
<sessionState cookieless="UseCookies"
timeout="20"
cookieSameSite="None"
xdt:Transform="Replace"
xdt:Locator="Match(cookieless)"/>
</system.web>
但我仍然收到以下错误:
A cookie associated with a resource at `mywebsite.net` was set with `SameSite=None` but without `Secure`. A future release of Chrome will only deliver cookies marked `SameSite=None` if they are also marked `Secure`.
如何在上面的 web.config 文件中指定 secure
属性?任何线索将不胜感激。
根据 Microsoft 的 link,sessionState 没有该属性,因此它返回到 httpCookies 部分。 https://docs.microsoft.com/en-us/aspnet/samesite/system-web-samesite 希望对您有所帮助。
您也可以在每次创建 cookie 时设置它
using SameSiteMode = Microsoft.AspNetCore.Http.SameSiteMode;
....
context.HttpContext.Response.Cookies.Append(cookie.Key, cookie.Value,
new CookieOptions { SameSite = SameSiteMode.None,Secure = true });