ASP.NET実践:Cookieの削除
1527 ワード
ユーザーコンピュータのCookieを直接削除することはできません.ただし、Cookieの有効日を過去の日付に設定することで、ユーザーブラウザにCookieの削除を指揮することができます.ユーザーがCookieに設定されたドメインまたはパスに設定されたページにアクセスすると、ブラウザは期限切れのCookiesを検出して削除します.
ヒント:
Cookieが存在するかどうかを検出し、存在する場合、同じ名前の新しいCookieを作成します. 新しいCookieの有効日を過去の時間に設定します. はこの新しいCookieを
このインスタンスには、次のものが必要です. ASP.NET Webページ. 以前に書き込まれたCookie(UserSettingsという名前)は、[ASP.NET実践:Cookieに書き込む]で例示したように.
セキュリティ上の理由で、同じドメインのページに設定されたCookiesのみを読み込むことができます.Cookieの
特定のCookieの値を読み込むときは、まずCookieが存在し、割り当てられているかどうかをテストします.そうしないと、
ブラウザは、Cookieを最初に作成したサーバにデータを返信することしかできません.しかしながら、悪意のあるユーザは、Cookiesにアクセスしてコンテンツを読み取ることができる.ユーザ名やパスワードなどの機密情報はクッキーに保存しないでください.サーバ上で機密情報を検索するために使用できる記号を格納します.また、Cookiesは改ざんされることもあるので、Cookieのデータは、Webサイトにまたがるスクリプト攻撃を防止するためのポリシーを使用してテストする必要があります.詳細については、[ASP.NET実践:Webアプリケーションで逆スクリプト開発を防止する].
ヒント:
Cookies
セットを呼び出すRemove
メソッドは、サーバ側でCookieをセットから削除できますが、Cookieはクライアントに送信されません.したがって,この方法では既存のCookieはクライアントから削除されない.Cookieに過去の日付を割り当てる
Cookies
集合オブジェクトに追加する.次のコード例では、Cookieに過去の日付を設定する方法を示します.
if (Request.Cookies["UserSettings"] != null)
{
HttpCookie myCookie = new HttpCookie("UserSettings");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
コンパイルコード
このインスタンスには、次のものが必要です.
堅牢なプログラミング
セキュリティ上の理由で、同じドメインのページに設定されたCookiesのみを読み込むことができます.Cookieの
Path
プロパティが設定されている場合、このCookieはパスで指定された同じドメインのページおよびサブディレクトリでのみ使用できます.特定のCookieの値を読み込むときは、まずCookieが存在し、割り当てられているかどうかをテストします.そうしないと、
NullReferenceException
の異常が発生します.セキュリティ
ブラウザは、Cookieを最初に作成したサーバにデータを返信することしかできません.しかしながら、悪意のあるユーザは、Cookiesにアクセスしてコンテンツを読み取ることができる.ユーザ名やパスワードなどの機密情報はクッキーに保存しないでください.サーバ上で機密情報を検索するために使用できる記号を格納します.また、Cookiesは改ざんされることもあるので、Cookieのデータは、Webサイトにまたがるスクリプト攻撃を防止するためのポリシーを使用してテストする必要があります.詳細については、[ASP.NET実践:Webアプリケーションで逆スクリプト開発を防止する].