2


HttpOnly Cookies の作成に問題があります。次のコードを使用して新しい Cookie を作成します。

    //A.aspx
    HttpCookie ht = new HttpCookie("www");
    ht.Value = "www";
    ht.Name = "www";
    ht.HttpOnly = true;
    ht.Expires = DateTime.Now.AddDays(1);
    Response.AppendCookie(ht);
    Response.Redirect("B.aspx");

    //B.aspx
    HttpCookie cookie = Request.Cookies["Allowed"];
    HttpCookie htt = Request.Cookies["www"];
    if (cookie != null)
    {
        Response.Write(cookie.HttpOnly);
        Response.Write(htt.HttpOnly);
    }
    else
    {
        cookie = new HttpCookie("Allowed");
        cookie.HttpOnly = true;
        cookie.Value = "ping";
        cookie.Expires = DateTime.Now.AddMinutes(2);
        Response.Cookies.Add(cookie);  
        Response.Write(cookie.HttpOnly);
        Response.Write(htt.HttpOnly);

    }

False問題は、HttpOnly プロパティが に設定されているにもかかわらず、最終結果が常に :であることTrueです。
誰かがこれを理解する方法を説明できますか?
ありがとう

4

1 に答える 1

4

Cookie パラメーター (有効期限、パス、HttpOnly など) は、ブラウザーによってサーバーに返送されず、値のみが返送されます。それらを送り返すことは、不必要な肥大化をもたらすだけです. したがって、の Cookie にRequest.Cookiesは名前と値のみが含まれます。

HttpOnly の値が有効になっているかどうかを確認するには、Firecookieなどを使用して Cookie を調べます。または JavaScript でそれらにアクセスしてみてください。

于 2011-04-30T17:11:24.197 に答える