次の方法で共有


方法 : Cookie を読み取る

更新 : 2007 年 11 月

Cookie によって、Web アプリケーションは履歴やユーザー設定などのユーザー固有の情報を格納できます。Cookie は、要求および応答と共に Web サーバーとクライアント間でやり取りされる少量のテキストです。Cookie には、ユーザーがサイトを訪問するたびに Web アプリケーションが読み取ることができる情報が格納されます。

ブラウザは、ユーザーのシステムで Cookie を管理します。Cookie はページの要求と共にサーバーに送信され、Cookies コレクションを公開する HttpRequest オブジェクトの一部としてアクセスできます。読み取ることができるのは、現在のドメインまたはパスにあるページが作成した Cookie だけです。

手順

  • Cookie の名前をキーとして使用し、Cookies コレクションから文字列を読み取ります。

    UserSettings という Cookie を読み取り、次に Font というサブキーの値を読み取る例を次に示します。

    If (Request.Cookies("UserSettings") IsNot Nothing) Then
        Dim userSettings As String
        If (Request.Cookies("UserSettings")("Font") IsNot Nothing) Then
            userSettings = Request.Cookies("UserSettings")("Font")
        End If
    End If
    
    if (Request.Cookies["UserSettings"] != null)
    {
        string userSettings;
        if (Request.Cookies["UserSettings"]["Font"] != null)
        { userSettings = Request.Cookies["UserSettings"]["Font"]; }
    }
    

コードのコンパイル方法

この例には、次の項目が必要です。

  • ASP.NET Web ページ。

  • 方法 : Cookie を記述する」に説明されているように、事前に UserSettings という名前で書き込んだ Cookie。

堅牢性の高いプログラム

セキュリティ上の理由により、読み取ることができるのは同じドメインに属しているページが設定した Cookie だけです。Path プロパティが設定されている場合、この Cookie はドメインのこのパスのサブフォルダとページだけで使用できます。

特定の Cookie の値を読み取るときは、その Cookie が存在し、値が設定されていることを確認してください。それ以外の場合は、例外が発生します。

Cookie のすべての値は String 型で格納されるため、Cookie 値を別のデータ型で使用する場合は、適切な型に値を変換する必要があります。

セキュリティ

ブラウザは、Cookie の作成元であるサーバーにデータを送り返すことしかできません。ただし、悪意のあるユーザーが Cookie にアクセスして、そのコンテンツを読み取る危険性はあります。Cookie にはユーザー名やパスワードなどの機密情報は格納しないでください。その代わり、サーバーの機密情報を検索するのに使用できるトークンを格納します。さらに、Cookie は改変されることがあるため、Cookie のデータには、クロスサイト スクリプティング攻撃の予防策と同じ対策を講じる必要があります。詳細については、「スクリプトによる攻略の概要」を参照してください。

参照

処理手順

方法 : Cookie を記述する

方法 : Cookie を削除する

概念

ASP.NET の Cookie の概要

Web アプリケーションのセキュリティに関する基本的な対策

ASP.NET の状態管理の概要