Help us understand the problem. What is going on with this article?

ITPのBANを早速試しました

More than 1 year has passed since last update.

この記事は MicroAd Advent Calendar 2017 の15日目の記事です。
2017/12/15 といえば、スター・ウォーズ エピソード8/最後のジェダイ の公開日です。ファンの皆さん、お楽しみですね。

はじめに

Safari11 がリリースしてから3ヶ月立てました、ネット広告業界が大騒いだ ITP 機能はご存知ですよね。
本記事はITP機能に 3rd-party cookie が BAN される方法を紹介します。

テスト環境

  • OS: macOS High Sierra
  • Browser: Safari 11 ITP有効 (環境設定 -> プライバシー -> サイト越えトラッキングを防ぐ -> 有効)
  • BANドメイン対象: ad.com

下準備

1. 仮想ドメイン登録

$ sudo vi /etc/hosts

下記仮想ドメインを追記します。

hosts
...

127.0.0.1 www.ad.com
127.0.0.1 www.test1.com
127.0.0.1 www.test2.com
127.0.0.1 www.test3.com
127.0.0.1 www.test4.com
127.0.0.1 www.test5.com

2. Apache 起動

最近のMacは最初からApacheが入っているので便利です。

# 起動
sudo apachectl start
# 停止
sudo apachectl stop
# 再起動
sudo apachectl restart

とりあえず、Apacheを起動した状態にしときます。

3. テスト用 HTMLファイル作成

# Apache documentの配下に入る
$ cd /Library/WebServer/Documents/

# テスト用 HTMLファイル3つを作成
$ sudo vi media.html
$ sudo vi redirect.html
$ sudo vi cookie.html
media.html
<html>
  <body>
    <a href='http://www.ad.com/redirect.html' target='_self'>
      <img src='https://lumiere-a.akamaihd.net/v1/images/the-last-jedi-theatrical-poster-tall-a_6a776211.jpeg?region=0%2C0%2C1536%2C864&width=768'>
    </a>
    <iframe src='http://www.ad.com/cookie.html' />
</body>
</html>
redirect.html
<html>
  <head>
    <script>
      var id = "BB-8";
      var expire = new Date((new Date()).getTime() + (3600 * 24 * 1000)); // after 1 day
      document.cookie = 'ID=' + id + '; path=/; domain=.ad.com; expires=' + expire.toUTCString() + ";";
      location.href = "http://www.starwars.com";
    </script>
  </head>
</html>
cookie.html
<html>
  <body>
    <h2>Cookie of ad.com domain</h2>
    <p id="id"></p>
    <script>
      if (document.cookie) {
        document.getElementById('id').innerHTML = document.cookie;
      }
    </script>
  </body>
</html>

BAN 実験

Safari 11で http://www.test1.com/media.html を開く。
ad.com という 3rd-party のクッキーはまだないので、下の「Cookie of ad.com domain」欄に何も表示されません。

画像をクリックしたら、ad.comのページを経由して広告ページ( http://www.starwars.com ) にリダイレクトします。
途中 ad.comドメインのIDクッキーが作られます。

もう一度、http://www.test1.com/media.html にアクセスしたら、下の「Cookie of ad.com domain」欄にID=BB-8 が表示されますね。
※ それは、3rd-party cookie として、ad.comドメインのIDクッキーがまだ読める証拠です。

繰り返し、下記3つドメインの media.htmlページを開いて、画像をクリックして広告ページに飛ばせます。
http://www.test2.com/media.html
http://www.test3.com/media.html
http://www.test4.com/media.html
それぞれ、media.html ページの下の「Cookie of ad.com domain」欄にID=BB-8 が表示されましたね。

最後に、五つ目ドメインのmedia.htmlページを開く。
http://www.test5.com/media.html
ページの下の「Cookie of ad.com domain」欄にID=BB-8 が消えました!
そして、他のページに入っても 3rd-partyとしてad.comのcookieが読めなくなりました!

ということは、ITP機能発動!
ad.comドメインは見事にトラッカーと認定され、BANされました!!

リソースのドメイン数が4に達した時点で、トラッカー判定されることを確認しました。

こちらの記事 に書いたこと、再現しましたね。

終わりに

ITP 機能に関してまだいくつ特性がありますが、機会があれば続々紹介したいと思います。

microad
データとテクノロジーをかけ合わせたマーケティングプラットフォームを提供する会社です。
https://www.microad.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした