使 ASP.NET_SessionId cookie 不为 httpOnly

Ser*_*ook 2 c# cookies asp.net-mvc

ASP.NET MVC 中用于会话的 cookie 是httpOnly(属性设置为 true)。

有没有办法让它不httpOnly?

我希望能够从 javascript 访问这个 cookie。

即使它不如“如果整个宇宙都反对我怎么办?!”那么安全。默认设置。

ial*_*eev 5

如果你真的需要它,你可以尝试将其添加到你的 Global.asax 中:

void Application_EndRequest(Object sender, EventArgs e)
{
   if (Response.Cookies.Count > 0)
   {
       foreach (string s in Response.Cookies.AllKeys)
       {
           if (s == "ASP.NET_SessionId")
           {
               Response.Cookies["ASP.NET_SessionId"].HttpOnly = false;
           }
       }
   }    
}
Run Code Online (Sandbox Code Playgroud)

解决方案是从这里获取的。