質問: Webサービスを開発しており、ログイン状態を保持するために、自動ログイン用のCookieを発行しています。 Cookieの中には適当なハッシュ値が入っており、アクセス時にそのハッシュ値に対応するユーザーでログインできるようになっています。 これはログイン状態を保持する一般的な方法と思いますが、ハッシュ値の有効期限について質問があります。 AmazonやYahooといった大手のサービスでは、この有効期限は数週間程度といろいろなサイトに書かれていました。 自動ログイン用のCookieを使う主な理由として、セッションIDの固定化を防ぐことが挙げられると思います。 ハッシュ値の有効期限を例えば1年のような長い期間に設定した場合、数週間の場合と比較してどの程度危険になるのでしょうか。 ほとんど差がないようなら、可能な限り長くした方が便利なはずです。よろしくお願いします。
回答: セッションハイジャック対策として短いほうが良いです。 クロスサイトスクリプティング、マルウェア、パケットキャプチャなどの方法で不正にCookieを第三者に取得され、利用される可能性があります。 Cookieのみで認識している場合、それが奪われたら本人か悪意のある第三者か判別できません。