ASP.NET実践:Cookieを読み取る
1590 ワード
Cookiesは、履歴やユーザの好みなどの特定のユーザ情報をWebアプリケーションに格納する方法を提供する.Cookieは,要求と応答とともにWebサーバとクライアント間で往復伝送される少量のテキストである.Webアプリケーションは,ユーザがウェブサイトにアクセスする際にCookieに含まれる情報を読み取ることができる.
ブラウザは、ユーザーシステムのCookiesを管理します.Cookiesは、ページ要求とともにサーバに送信され、
Cookieの読み込み Cookieの名前をキーワードとして
このインスタンスには、次のものが必要です. ASP.NET Webページ. 以前に書き込まれたCookie(UserSettingsという名前)は、[ASP.NET実践:Cookieに書き込む]で例示したように.
セキュリティ上の理由で、同じドメインのページに設定されたCookiesのみを読み込むことができます.Cookieの
特定のCookieの値を読み込むときは、まずCookieが存在し、割り当てられているかどうかをテストします.そうしないと、
Cookieのすべての値は
ブラウザは、Cookieを最初に作成したサーバにデータを返信することしかできません.しかしながら、悪意のあるユーザは、Cookiesにアクセスしてコンテンツを読み取ることができる.ユーザ名やパスワードなどの機密情報はクッキーに保存しないでください.サーバ上で機密情報を検索するために使用できる記号を格納します.また、Cookiesは改ざんされることもあるので、Cookieのデータは、Webサイトにまたがるスクリプト攻撃を防止するためのポリシーを使用してテストする必要があります.詳細については、「スクリプト開発の概要」を参照してください.
ブラウザは、ユーザーシステムのCookiesを管理します.Cookiesは、ページ要求とともにサーバに送信され、
HttpRequest
のオブジェクトの一部としてアクセス可能であり、Cookies
のセットが露出される.現在のドメインまたはパスのページで作成されたCookiesのみを読み込むことができます.ステップ
Cookieの読み込み
Cookies
から文字列を読み出す.次の例では、UserSettingsというCookieを読み込み、Fontという名前のサブキーの値を読みます.
if (Request.Cookies["UserSettings"] != null)
{
string userSettings;
if (Request.Cookies["UserSettings"]["Font"] != null)
{ userSettings = Request.Cookies["UserSettings"]["Font"]; }
}
コンパイルコード
このインスタンスには、次のものが必要です.
堅牢なプログラミング
セキュリティ上の理由で、同じドメインのページに設定されたCookiesのみを読み込むことができます.Cookieの
Path
プロパティが設定されている場合、このCookieはパスで指定された同じドメインのページおよびサブディレクトリでのみ使用できます.特定のCookieの値を読み込むときは、まずCookieが存在し、割り当てられているかどうかをテストします.そうしないと、
NullReferenceException
の異常が発生します.Cookieのすべての値は
String
タイプに格納されているので、Cookieの値を異なるデータ型として使用するには、適切なタイプ変換が必要です.セキュリティ
ブラウザは、Cookieを最初に作成したサーバにデータを返信することしかできません.しかしながら、悪意のあるユーザは、Cookiesにアクセスしてコンテンツを読み取ることができる.ユーザ名やパスワードなどの機密情報はクッキーに保存しないでください.サーバ上で機密情報を検索するために使用できる記号を格納します.また、Cookiesは改ざんされることもあるので、Cookieのデータは、Webサイトにまたがるスクリプト攻撃を防止するためのポリシーを使用してテストする必要があります.詳細については、「スクリプト開発の概要」を参照してください.