こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。
今回はSafariのITP2.xの次なる標的な何か?という話です。
※この記事は2019年7月24日現在の情報に基づいてます。
AppleのSafariブラウザのHTMLレンダリングエンジンであるWebKitはオープソースで開発が進められてまして、誰でもソースコードを見る事が出来ます。
非公式ながらGitHubにもミラーされてます。
WebKit/webkit: Unofficial mirror of the WebKit SVN repository
そしてどんな変更が日々追加されてるのかはChangeLogというファイルに記録されてます。
つまり、日々のWebKitの開発動向から、ITP2.xが次に何を「潰しに来るか」というのを予想する、というネタです。
とにかくChangeLogファイルを見てみましょう。
1. GitのChangeLogを読む
webkit/ChangeLog-2019-06-05 at master · WebKit/webkit
どこかで聞いたような下記の記述が見つかります。
2019-03-01 John Wilander <wilander@apple.com> Resource Load Statistics: Further restrict client-side cookie persistence after cross-site navigations with link decoration https://bugs.webkit.org/show_bug.cgi?id=195196
これはITP2.2で追加されたクロスドメイン計測時に付与されたcookieを1日で消す処理ですね。
これも聞いた事あるヤツです。
2018-09-24 John Wilander <wilander@apple.com> Cap lifetime of persistent cookies created client-side through document.cookie https://bugs.webkit.org/show_bug.cgi?id=189933
ITP2.1でリリースされたdocument.cookieで書き込まれたクッキーを7日で消す処理です。去年の9月にはcommitされてたのです!
去年のうちにこのコメントに気づいておけば、もう少し余裕を持って対策できましたね。
これらのコメントにはBugzillaのリンクも記述されてまして、それぞれ下記のチケットでやりとりされてます。
189933 – Cap lifetime of persistent cookies created client-side through document.cookie
というわけで、ChangeLogとBugzillaのチケットから次のITP2.xで対策されそうなものを探します。
2. ITP対策関連のBugzillaはどれだ
まずはこれ。
クロスサイトリンクのトラッカーパラメータで付与されたクッキー以外のストレージを消そうとしてます。
We should clear out non-cookie website data for sites that have been navigated to, with link decoration, by a prevalent resource. This makes sure tracker scripts cannot force first-party sites to store cross-site tracking data transferred in such navigations.
クロスドメインパラメータをLocalStorageに保存しても消されます。
他にはこれ。
199074 – Storage Access API: Cap the number of times an iframe document can request access
iframe内からのクッキー読み取り回数に制限をつけようとしてますね。
We hoped that iframes that request storage access would count the number of times the user has been asked and not repeat the request over and over. However, we’re seeing pretty aggressive use of the API and users are complaining. Therefore, we should implement a cap on how many times an iframed document can ask if it is explicitly denied access by the user. This is a first measure. If we see continued aggressive use of the API, we’ll have to consider more drastic measures.
どうなることやら。
あとはこれも気になります。
リファラーURLのクエリパラメータから読み取られたクロスドメインリンカーを読み取れなようにする対策ですね。
クロスドメイン計測を本気で抹殺しに来てます。
Reading document.referrer can be used to pass tracking information in cross-site navigations. We should downgrade document.referrer if the webpage was navigated to from a prevalent resource and the referrer has link decoration.
ITP2.xがますます容赦ない。
他にもこれはなんだ?的なBugzillaも見つかりましたので、今後のWebKit/ITP2.xの動向をwatchし続けます。
弊社はデジタルマーケティングからビッグデータ分析まで幅広くこなすデータ分析のプロ集団です。
AdobeAnalyticsのコンサルティング/導入支援についてのお問合わせはこちらからどうぞ。
ブログへの記事リクエストはこちらまでどうぞ。