ブラウザーのタブ間でCookieが共有されるのはなぜですか?これを回避すると、Cookieベースの認証WebサイトでCSRFが防止されますか?認証なしで複数のタブからWebサイトに簡単にアクセスするために、タブ間でCookieを共有することは好まれますか?
そう、クッキーは「ブラウザのもの」...「タブのもの」ではありません。異なるタブの同じサイトへの複数のログインを優先することは、ほとんどの場合において利点です。
ええ、あなたは正しいです。「タブCookie」を使用するという架空のケースでは、CSRF攻撃は意味がありません。なぜなら、ご存じのように、クロスサイトリクエストフォージェリ攻撃は、
ブラウザで個別のセッションが必要な場合は、プライベートブラウジングを使用するなど、そのための方法があります。これにより、セッション/ Cookieが他のセッションから分離されます。それは「ブラウザの他のインスタンス」のようなものですが、プライベートブラウジングのタブ間では、同じ方法でセッション/ Cookieを共有します。
それが役に立てば幸い。
ブラウザーのタブ間でCookieが共有されるのはなぜですか?
それはクッキーの目的全体を壊してしまうからです。
Cookieには3つのコンポーネントがあります。
ブラウザはhttpリクエストを行うたびに、(ローカル)cookieデータベースをチェックして、リクエストのドメインと一致するドメインを持つcookieを探します。見つかった場合は、サーバーに送信します。
このメカニズムは、ステートレスなHTTPに永続性を提供するために構築されました。 Cookieがなければ、認証済みサイトへのすべてのリクエストでユーザー名とパスワードを提供する必要があります。
Cookieがウィンドウごとに変更されると、非常に多くのことがすぐに煩わしくなります。ブラウザーを開くたびに再度Amazonにログインする必要があるだけでなく、新しいタブで開くたびにログインする必要があります。これは、買い物が終わったときに以前のタブを閉じたためか、または、結果をタブで開いて比較するためです。
これを回避すると、Cookieベースの認証WebサイトでCSRFが防止されますか?
はい、CSRFに対抗します。そのタブに他のサイトからのCookieが残っているので、それは絶対確実ではありません。
このポリシーをユーザーに適用しようとした場合、ユーザーはすぐに何らかの回避策を見つけ、結果としてシステムのセキュリティが低下する可能性があります。
これを自分で行うためのブラウザプラグインを作成したい場合は...先に進んでください。しかし、ユーザーエクスペリエンスが非常に速くヒットしていることに気付くでしょう。