2020/05〜06 トラッカー判定検証の記録
目的:トラッカー判定検証の記録
この検証は、Safari ITP2.3において
トラッカー判定される具体的な条件を調査するため行った。
前提を元に調査した結果を、
今後に活かすため記録することが目的。
トラッカー判定の前提
英語がわからないので、参考サイトを引用します。
公式では以下のように記載されているとのこと。
実際のこの条件を元にして、実際に判定されるかテスト。
当該ドメインがリソース(スクリプトなど)として他のドメインで読み込まれた数
当該ドメインがiframeとして他のドメインで読み込まれた数
当該ドメインが他のドメインで読み込まれたときの、そこからのリダイレクト(ドメイン)数
当該ドメインにアクセスした(親フレームとして読み込まれた)ときに、そこからリダイレクトしたドメイン数(ITP2.0で追加)
引用:ITPの変遷・最新の仕様と挙動の違い/対策の必要性と方法
https://www.marketechlabo.com/itp-latest/#i-2
検証準備
検証環境
OS: macOS Mojave 10.14.6
browser: Safari Technology Preview Release 108 (Safari 13.2, WebKit 14610.1.16.3)
仮想ドメインの登録
検証用のドメインをローカルのhostsに追加。
参考:https://qiita.com/junker919/items/cc15653a681e2dcd79ea
127.0.0.1 tracker.domain
127.0.0.1 redirect.domain
127.0.0.1 test1.domain
127.0.0.1 test2.domain
127.0.0.1 test3.domain
127.0.0.1 test4.domain
ファイル
test1~4/index.html
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>test1.domain</title>
</head>
<body>
<h1>test1.domain</h1>
<!-- パラメーター付きURL -->
<a href="http://tracker.domain:8001?page_id=test1">
http://tracker.domain:8001?page_id=test1
</a>
<!-- パラメーターなしURL -->
<a href="http://tracker.domain:8001">
http://tracker.domain:8001
</a>
<!-- iframe -->
<!-- <iframe src="http://tracker.domain:8001" width="100" height="100"></iframe> -->
</body>
</html>
tracker/index.html
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>tracker.domain</title>
<script type="text/javascript">
// Coolie Setting
// 必要に応じてコメントアウト
document.cookie = "key=value";
// Redirect
// 必要に応じてコメントアウト
setTimeout(function(){
location.href='http://redirect.domain:8002';
}, 1000);
</script>
</head>
<body>
tracker.domain
<ul>
<li>当ドメインをリソース(スクリプトなど)として他ドメインで読み込む</li>
<li>当ドメインをiframeとして他ドメインで読み込む</li>
<li>当ドメインを他ドメインで読み込みそこからリダイレクト(ドメイン)する</li>
<li>当ドメインにアクセスした(親フレームとして読み込まれた)ときにそこからリダイレクトしたドメイン数</li>
</ul>
</body>
</html>
redirect/index.html
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>redirect.domain</title>
</head>
<body>
<h1>redirect.domain tracker.domainからリダイレクトするページ</h1>
</body>
</html>
検証方法
サーバー起動
全てのドメインを個別に php -S で起動させる
cd src/test1
php -S test1.domain:9001
cd src/test2
php -S test2.domain:9002
cd src/test3
php -S test3.domain:9003
cd src/test4
php -S test4.domain:9004
// 判定されない場合の予備
cd src/test5
php -S test5.domain:9005
cd src/tracker
php -S tracker.domain:8001
cd src/redirect
php -S redirect.domain:8002
デバッグ方法
Safari Technology Previewを使ってトラッカー判定を確認。
参考: https://qiita.com/pipi0813/items/2952afd4a5cf0d2a0e32
開発タブから
「Enable Intelligent Tracking Prevention Debug Mode」
にチェックを入れ以下のコマンドをターミナルで実行。
log stream -info | grep ITPDebug
実行後各々のサイトに訪問するとトラッキングの状態のログが確認できる。
http://test1.domain:9001
http://test2.domain:9002
http://test3.domain:9003
http://test4.domain:9004
http://test5.domain:9005
http://tracker.domain:8001
http://redirect.domain:8001
検証結果総評
単純な画面遷移のみでは、数の問題でトラッカー判定されるまで検証することが難しかった。
iframeによる読み込みによる判定は厳しいようで
ローカル環境のドメインでもトラッカー判定されるまで検証が行えた。
以下はその具体的な検証内容となる。
検証内容
以下の条件で、
tracker.domain はどのように判定されるかを検証。
テストは一種類につき二回以上。
テスト終了後は必ず以下を行う
「Safari Technology Preview > Clear History」
「Develop > Empty Cashes」
当該ドメインがiframeとして他のドメインで読み込まれた数
テスト1
- 前提条件
- 全てのテストページで tracker.domain のiframeを読み込んでいる
- テスト内容 tracker.domainへ パラーメーター付きURLで 複数のドメイン(4種) から遷移
- テスト結果 3ドメインまではトラッカー判定無し、4ドメイン目のサイトが遷移した時点でトラッカー判定
テスト2
- 前提条件
- test1.domain、test2.domain、test3.domainで tracker.domain のiframeを読み込んでいる
- test4.domainでは iframeを読み込まない
- テスト内容 tracker.domainへ パラーメーター付きURLで 複数のドメイン(4種) から遷移
- テスト結果 全てのテストドメインから遷移してもトラッカー判定されない
テスト3
- 前提条件
- test1.domain で tracker.domain のiframeを読み込んでいる
- テスト内容 test1.domain からパラーメーター付きURLで tracker.domain へ遷移
- テスト結果 遷移してもトラッカー判定されない
テスト4
- 前提条件
- test1.domain で tracker.domain のiframeを読み込んでいる
- tracker.domainはCookieを書き込む処理を行う
- テスト内容 test1.domain からパラーメーター付きURLで tracker.domain へ遷移
- テスト結果 遷移した瞬間トラッカー判定となる
テスト5
- 前提条件
- tracker.domainはCookieを書き込む処理を行う
- テスト内容 test1.domain からパラーメーター付きURLで tracker.domain へ遷移
- テスト結果 遷移してもトラッカー判定されない
当該ドメインが他のドメインで読み込まれたときの、そこからのリダイレクト(ドメイン)数
テスト1
- 前提条件
- tracker.domainはredirect.domainへのリダイレクト 処理を行う
- test1~4.domain でiframeとして tracker.domainを読み込む
- テスト内容 test1~4.domain 全てのテストドメインそれぞれから tracker.domain へ遷移 リダイレクトされてredirect.domainへ
- テスト結果 4ドメイン目でtracker.domainがトラッカー判定された
※ その後再度test1.domainを閲覧したところ
リダイレクト先の「redirect.domain」もトラッカー判定となった
テスト2
- 前提条件
- tracker.domainはCookieを書き込む処理を行う
- tracker.domainはredirect.domainへのリダイレクト 処理を行う
- test1~4.domain でiframeとして tracker.domainを読み込む
- テスト内容 test1~4.domain 全てのテストドメインそれぞれから tracker.domain へ遷移 リダイレクトされてredirect.domainへ
- テスト結果 4ドメイン目でtracker.domainおよびredirect.domain 二つのドメインがトラッカー判定された
当該ドメインにアクセスした(親フレームとして読み込まれた)ときに、そこからリダイレクトしたドメイン数(ITP2.0で追加)
テスト1
- 前提条件
- tracker.domainはredirect.domainへのリダイレクト 処理を行う
- テスト内容 test1~4.domain 全てのテストドメインそれぞれから tracker.domain へ遷移 リダイレクトされてredirect.domainへ
- テスト結果 トラッカー判定されない
テスト2
- 前提条件
- tracker.domainはredirect.domainへのリダイレクト 処理を行う
- テスト内容 test1~4.domain 全てのテストドメインそれぞれから パラーメーター付きURLで tracker.domain へ遷移 リダイレクトされてredirect.domainへ
- テスト結果 トラッカー判定されない
テスト3
- 前提条件
- tracker.domainはredirect.domainへのリダイレクト 処理を行う
- tracker.domainはCookieの書き込み処理を行う
- テスト内容 test1~4.domain 全てのテストドメインそれぞれから パラーメーター付きURLで tracker.domain へ遷移 リダイレクトされてredirect.domainへ
- テスト結果 トラッカー判定されない
当該ドメインがリソース(スクリプトなど)として他のドメインで読み込まれた数
「リソース(スクリプトなど)として」は
iframeを想定し、他のテスト内容と重複するため省略
Author And Source
この問題について(2020/05〜06 トラッカー判定検証の記録), 我々は、より多くの情報をここで見つけました https://qiita.com/shiho_hoshino/items/f8d6842cac7e5ad9b883著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .