3

セキュリティ監査の後、Cookie ASP.NET_sessionID を「安全」に設定する必要があるとのことでした。

現在、フラグは設定されていません。

SessionIDManager を使用してセキュアに設定できますか? このコードでログインした後、私はすでにそれを使用してセッション Cookie の値を変更しています。

            System.Web.SessionState.SessionIDManager manager = new System.Web.SessionState.SessionIDManager();
            string oldId = manager.GetSessionID(System.Web.HttpContext.Current);
            string newId = manager.CreateSessionID(System.Web.HttpContext.Current);
            bool isAdd = false, isRedir = false;
            manager.SaveSessionID(System.Web.HttpContext.Current, newId, out isRedir, out isAdd);

編集

設定できることがわかりました

<httpCookies httpOnlyCookies="false" requireSSL="true" />

しかし、私はこの 1 つの Cookie だけを保護したいと考えています

4

2 に答える 2

3

これにより、Cookie を安全なものとして設定できるようになります。

void Application_EndRequest(object sender, EventArgs e)
{
    var sessionCookieKey = Response.Cookies.AllKeys.SingleOrDefault(c => c.ToLower() == "asp.net_sessionid");
    var sessionCookie = Response.Cookies.Get(sessionCookieKey);
    if(sessionCookie != null)
    {
        sessionCookie.Secure = true;
    }
}
于 2012-08-30T23:39:14.617 に答える