問題タブ [samesite]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-chrome - 「SameSite」属性のない Cookie は、異なるサブドメインで送信されます
そこで、Chrome 80 の Cookie がデフォルトで SameSite=Laxになっていることを読み、他の皆さんと同様に、これが私のサイトに与える影響を測定しようとしています。
私が運営しているサイトはいくつかのサブドメインに分割されており、それぞれが独自の Cookie を使用しています。次のようになります。
- first-site.domain.comはCookie1 (
path=/; secure; httponly
)を使用します - second-site.domain.comはCookie2 (
path=/; secure; httponly
)を使用しています
これらの Cookie は属性を指定しないため、Chrome 80 と同じSameSite
ように扱われることになっているLax
ため、同じサイトのリクエストに限定する必要があります (最上位のナビゲーションでない限り)。
次に、SameSite Cookie によると、次のように説明されています。
ユーザーがyour-project.github.io にいて、クロスサイト リクエストであるmy-project.github.ioから画像をリクエストする 場合。
そのため、「SameSite by default cookies」フラグと「SameSite を使用しない Cookie は安全でなければならない」フラグを有効にすると、first-site.domain.comがsecond-site.domain.comをフレームに埋め込むと、Cookie2がまだsecond-site.domain.comに送信されていますが、これは矛盾しているようです。
きっと何かを誤解しているに違いないが、今はまだ戸惑っている。
注: second-site.domain.com を anotherdomain.com のフレームに埋め込むと、ブラウザーからCookie が送信されないことを確認しました (予想どおり)。
ruby-on-rails - 「SameSite=None;」の追加 Rackミドルウェアを介してRailsにCookieを送信しますか?
2020 年 2 月 4 日に、Google Chrome はSameSite=None;
すべてのクロスサイト Cookie に追加する必要があります。 Rails 6.1 およびまもなく Rails 6.0 では、Railssame_site: :none
Cookie ハッシュにオプションが追加されました。
same_site
ただし、古い Rails 5.x アプリは、オプション ハッシュにアクセスするためのアップグレードを受け取りません。SameSite=None;
以下を使用して、コントローラのRailsにCookieオプションを手動で追加できることを私は知っています。
しかし、Rails 5.x アプリでは、Cookie を変更する複雑な Cookie オブジェクトを使用しています。それらをバラバラにする代わりに、SameSite=None;
属性を持つすべての Cookie を一度に手動で更新する Rack ミドルウェアを書きたいと思います。
この StackOverflow の回答は、Cookie を変更して Rack Middleware 内の Cookie を更新する方法を示しています。
この Rack ミドルウェア コードを書き直しSameSite=None;
て、既存のすべての Cookie に手動で追加するにはどうすればよいですか?