如何为ASP.NET_SessionId cookie设置HttpOnly?

dev*_*per 7 asp.net cookies session

在我的web项目设置中打开httpOnlyCookies不存在.默认情况下为假.此外,代码中没有将cookie设置为HttpOnly的地方.但是,当我浏览到该站点时,我可以看到ASP.NET_Session cookie正在作为HttpOnly传递.怎么设置为HttpOnly?

Kev*_*Kev 14

ASP.NET会话cookie仅限HTTP,无论httpOnlyCookies您的问题中链接的设置如何,因为它会被刻录到ASP.NET中.你无法覆盖它.

如果您深入了解System.Web.SessionState.SessionIDManagerSystem.Web程序集中的类,则创建ASP.NET会话cookie的代码如下所示:

private static HttpCookie CreateSessionCookie(string id)
{
    HttpCookie cookie = new HttpCookie(Config.CookieName, id);
    cookie.Path = "/";
    cookie.HttpOnly = true;   // <-- burned in
    return cookie;
}
Run Code Online (Sandbox Code Playgroud)

  • 在这里找到文档:http://msdn.microsoft.com/en-us/library/aa480476.aspx"HttpOnly.此属性指定是否可以通过客户端脚本访问cookie.在ASP.NET 2.0中,此值始终设置真的." (2认同)