ASP.NET実践:Cookieを読み取る

1590 ワード

Cookiesは、履歴やユーザの好みなどの特定のユーザ情報をWebアプリケーションに格納する方法を提供する.Cookieは,要求と応答とともにWebサーバとクライアント間で往復伝送される少量のテキストである.Webアプリケーションは,ユーザがウェブサイトにアクセスする際にCookieに含まれる情報を読み取ることができる.
ブラウザは、ユーザーシステムのCookiesを管理します.Cookiesは、ページ要求とともにサーバに送信され、HttpRequestのオブジェクトの一部としてアクセス可能であり、Cookiesのセットが露出される.現在のドメインまたはパスのページで作成されたCookiesのみを読み込むことができます.

ステップ


Cookieの読み込み
  • Cookieの名前をキーワードとしてCookiesから文字列を読み出す.次の例では、UserSettingsというCookieを読み込み、Fontという名前のサブキーの値を読みます.
    
    
    if (Request.Cookies["UserSettings"] != null)
    
    {
    
        string userSettings;
    
        if (Request.Cookies["UserSettings"]["Font"] != null)
    
        { userSettings = Request.Cookies["UserSettings"]["Font"]; }
    
    }
    
    

  • コンパイルコード


    このインスタンスには、次のものが必要です.
  • ASP.NET Webページ.
  • 以前に書き込まれたCookie(UserSettingsという名前)は、[ASP.NET実践:Cookieに書き込む]で例示したように.

  • 堅牢なプログラミング


    セキュリティ上の理由で、同じドメインのページに設定されたCookiesのみを読み込むことができます.CookieのPathプロパティが設定されている場合、このCookieはパスで指定された同じドメインのページおよびサブディレクトリでのみ使用できます.
    特定のCookieの値を読み込むときは、まずCookieが存在し、割り当てられているかどうかをテストします.そうしないと、NullReferenceExceptionの異常が発生します.
    Cookieのすべての値はStringタイプに格納されているので、Cookieの値を異なるデータ型として使用するには、適切なタイプ変換が必要です.

    セキュリティ


    ブラウザは、Cookieを最初に作成したサーバにデータを返信することしかできません.しかしながら、悪意のあるユーザは、Cookiesにアクセスしてコンテンツを読み取ることができる.ユーザ名やパスワードなどの機密情報はクッキーに保存しないでください.サーバ上で機密情報を検索するために使用できる記号を格納します.また、Cookiesは改ざんされることもあるので、Cookieのデータは、Webサイトにまたがるスクリプト攻撃を防止するためのポリシーを使用してテストする必要があります.詳細については、「スクリプト開発の概要」を参照してください.