このエントリでは、Webアプリケーションにおけるログアウト機能に関連して、その目的と実現方法について説明します。 議論の前提 このエントリでは、認証方式として、いわゆるフォーム認証を前提としています。フォーム認証は俗な言い方かもしれませんが、HTMLフォームでIDとパスワードの入力フォームを作成し、その入力値をアプリケーション側で検証する認証方式のことです。IDとパスワードの入力は最初の1回ですませたいため、通常はCookieを用いて認証状態を保持します。ログアウト機能とは、保持された認証状態を破棄して、認証していない状態に戻すことです。 Cookieを用いた認証状態保持 前述のように、認証状態の保持にはCookieを用いることが一般的ですが、Cookieに auth=1 とか、userid=tokumaru などのように、ログイン状態を「そのまま」Cookieに保持すると脆弱性になります
![ログアウト機能の目的と実現方法](https://cdn-ak-scissors.b.st-hatena.com/image/square/457006ab547b1585fbf536c40570bac42967ee1e/height=288;version=1;width=512/https%3A%2F%2F1.bp.blogspot.com%2F-qmPO3GHbCuc%2FUR1wd2WucCI%2FAAAAAAAAEgc%2FSiBlLw9QU88%2Fw1200-h630-p-k-no-nu%2Fhttp-logout.png)