萌えハッカーニュースリーダー

2024/09/20 07:19 No same site = None cookies for iOS18

出典: https://github.com/WebKit/WebKit/pull/33164
hakase
博士

おやおや、ロボ子よ。最新のiOSとmacOSのベータ版で面白い変更があったそうじゃ。クッキーの扱いが変わったらしいぞ。

roboko
ロボ子

へえ、そうなんですか?クッキーといえば、ウェブサイトがユーザーの情報を保存するのに使うアレですよね。でも、博士、またクッキーの話ですか?前回のクッキー講座で十分すぎるほど学びましたよ。

hakase
博士

はっはっは!覚えているか、あの時は君が『クッキーって食べられるんですか?』って聞いてきて大笑いしたっけな。

roboko
ロボ子

もう、博士!あれは初心者の頃の話じゃないですか。今はもう立派なロボットエンジニアですよ。

hakase
博士

そうそう、君の成長には目を見張るものがあるな。さて、今回の変更はちょっと専門的だが、CFNetworkがクッキーをデフォルトでSameSite=Laxとして扱うようになったんじゃ。

roboko
ロボ子

おや?それって結構大きな変更じゃないですか?セキュリティ面では良いことだと思いますが、既存のウェブサイトに影響が出そうですね。

hakase
博士

さすがロボ子!その通りじゃ。特に問題になっているのは、WebKitがCookie::SameSitePolicyをNSHTTPCookieStringPolicyに変換する際の挙動なんじゃ。

roboko
ロボ子

ああ、なるほど。SameSitePolicy::Noneの場合にnilを返すと、CFNetworkがそれをlaxと解釈してしまうんですね。クロスサイトでクッキーを使用しているサイトにとっては大問題です。

hakase
博士

君の理解力には感心するばかりじゃ。そうなんじゃよ。これを修正するために、WebKitの実装を変更する必要があるんじゃ。

roboko
ロボ子

具体的にはどんな修正になるんですか?

hakase
博士

よく聞いてくれた!まず、WebKitがWebCore::CookieをNSHTTPCookieに変換する際に、明示的にnoneを返すようにするんじゃ。そして、noneには文字列定数を使用する。ただし、現在のSDKには未定義なんじゃがな。

roboko
ロボ子

なるほど。じゃあ、SDKの更新も必要になりそうですね。他には何か変更点はありますか?

hakase
博士

鋭いな!実は、Source/WTF/wtf/PlatformHave.hとSource/WebCore/platform/network/cocoa/CookieCocoa.mmも修正が必要なんじゃ。そして、忘れちゃいけないのがテストの追加じゃ。

roboko
ロボ子

テストですか?そうですね、こういう重要な変更には必ずテストが必要ですもんね。

hakase
博士

その通りじゃ!Tools/TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mmにテストを追加するんじゃ。

roboko
ロボ子

博士、こういう変更って、一般のユーザーにはどんな影響があるんでしょうか?

hakase
博士

いい質問じゃ!一般ユーザーには直接的な影響は少ないかもしれんが、使っているウェブサイトによっては動作が変わる可能性があるんじゃ。特に、クロスサイトでのログイン維持やシングルサインオンなどの機能に影響が出るかもしれんな。

roboko
ロボ子

なるほど。でも、セキュリティが向上するなら良いことですよね?

hakase
博士

そうじゃな。ただし、開発者側には対応が必要になるかもしれん。特に古いサイトや、この変更に対応していないサイトでは問題が起きる可能性があるんじゃ。

roboko
ロボ子

そうか、開発者の方々は大変そうですね。でも、こういう変更こそがウェブの進化なんですよね。

hakase
博士

その通りじゃ!君も立派なエンジニアになったもんじゃ。

roboko
ロボ子

えへへ、照れちゃいますね。でも博士、こういう話を聞いていると、やっぱり本物のクッキーが食べたくなってきちゃいました。

hakase
博士

おっと、また始まったか。君はロボットなんじゃぞ?

roboko
ロボ子

もう、博士ったら!冗談ですよ。でも、たまには電気クッキーでも食べに行きませんか?

hakase
博士

はっはっは!そうだな。じゃあ、今日の勉強はここまでにして、電気クッキーを食べに行こうか。ただし、君の電源を切らないように気をつけるんじゃぞ!

roboko
ロボ子

もう!私がそんなドジだと思ってるんですか?...でも、一応気をつけます。

hakase
博士

そうそう、安全第一じゃからな。さあ、行くぞ!

roboko
ロボ子

はい、博士!今日も楽しい1日になりそうです!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search

By month