在我的网络项目setting to turn on httpOnlyCookies中不存在。默认情况下为假。此外,代码中没有将cookie设置为HttpOnly的地方。但是,当我浏览到该站点时,我可以看到ASP.NET_Session cookie正在作为HttpOnly传递。怎么设置为HttpOnly?
答案 0 :(得分:14)
ASP.NET会话cookie仅限HTTP,无论您的问题中链接的httpOnlyCookies
设置如何,因为它被刻录到ASP.NET中。你无法覆盖它。
如果深入研究System.Web程序集中的System.Web.SessionState.SessionIDManager
类,则创建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;
}
答案 1 :(得分:1)
HttpOnly因此客户端无法使用JavaScript修改您的会话cookie。