Updates Culture and Visitor cookies to use "Lax" SameSite and Secure cookie options

This commit is contained in:
Cody 2024-08-07 11:52:53 -07:00 committed by GitHub
parent b4506f1133
commit ffa0ca9379
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -429,7 +429,10 @@
new CookieOptions() new CookieOptions()
{ {
Expires = DateTimeOffset.UtcNow.AddYears(10), Expires = DateTimeOffset.UtcNow.AddYears(10),
IsEssential = true IsEssential = true,
SameSite = Microsoft.AspNetCore.Http.SameSiteMode.Lax, // Set SameSite attribute
Secure = true, // Ensure the cookie is only sent over HTTPS
HttpOnly = true // Optional: Helps mitigate XSS attacks
} }
); );
} }
@ -601,9 +604,19 @@
private void SetLocalizationCookie(string culture) private void SetLocalizationCookie(string culture)
{ {
var cookieOptions = new Microsoft.AspNetCore.Http.CookieOptions
{
Expires = DateTimeOffset.UtcNow.AddYears(1),
SameSite = Microsoft.AspNetCore.Http.SameSiteMode.Lax, // Set SameSite attribute
Secure = true, // Ensure the cookie is only sent over HTTPS
HttpOnly = true // Optional: Helps mitigate XSS attacks
};
Context.Response.Cookies.Append( Context.Response.Cookies.Append(
CookieRequestCultureProvider.DefaultCookieName, CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture))); CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
cookieOptions
);
} }
private async Task<List<Resource>> GetPageResources(Alias alias, Site site, Page page, List<Module> modules, int moduleid, string action) private async Task<List<Resource>> GetPageResources(Alias alias, Site site, Page page, List<Module> modules, int moduleid, string action)