脆弱性を突いてブラウザの閲覧履歴を調べるという禁じ手に手を出した、掟破りの(自称「次世代」)行動ターゲティング広告「楽天ad4U」について、amachangの「IEのinnerHTMLやappendChildで要素が挿入された瞬間を取得する方法」を参考に、その隠しリンクを露出させるユーザスタイルシートを作ってみた。(Internet Explorer用。)
#ad4u_list { display: expression(function() { if (!this.__mark) { this.__mark = true; // alert(this.innerHTML); var o = '<div style="overflow:scroll; border:dashed 4px red;">'; o = o + this.innerHTML.replace(/A>/g, "A> "); o = o + '</div>'; document.body.innerHTML = o; } return ''; }.apply(this)); }
使い方は、上記のテキストをファイルに保存(「user.css」などのファイル名で)して、Internet Explorerの「インターネットオプション」の「全般」タブにある「ユーザ補助」で、「ユーザースタイルシート」のところの「自分のスタイルシートでドキュメントの書式を設定する」にチェックを入れ、上記の保存したファイルを指定する*1(図1)。
この状態で、「楽天ad4U」の広告が貼付けられたサイトを訪れると、図2のようになる。
赤い破線で囲まれた部分が「楽天ad4U」広告の領域で、ここに隠して埋め込まれたリンクがこのように全部表示される。この中に訪問済みサイトがあれば、そのリンクの色が紫になっているはずだ。リンク先がどこかは、マウスポインタをリンクの上に載せれば、ブラウザのステータスバーで確認できる(図中の矢印)。
説明も同意確認もなく密かにこのような大量のリンクを送り付け、勝手にその訪問の有無を調べるというその一方的なやり方に対し、私たちは、こうして自分のコンピュータで何が行われているのか調べる正当な権利を有している。
上のスタイルシートはいろいろアレンジができる。「alert(this.innerHTML);」の行を有効にすれば、この広告が埋め込まれているページを訪れると警告が出るようになる。どこの会社が掟破りの広告を採用したか気付きしだい告発していくための調査に便利だ。
また、他のブラウザでも他の方法で実現できるかもしれない。
関連:
*1 このような、スクリプトを含むスタイルシートを使用することは、ブックマークレットやGreasemonkeyスクリプトをインストールするのと同様のリスクを伴う。悪意あるスタイルシートを組み込んでしまわないよう、得体の知れないサイトの言うことを信じて安易にインストールしてはいけない。
この手の行動ターゲティングはイヤだな。広告主もイヤじゃないのかな。
芒臣莖芦芋見見螺...
元記事:高木浩光@自宅の日記 - 楽天ad4Uの隠しリンクを露出させるユーザスタイルシートより 脆弱性を突いてブラウザの閲覧履歴を調べるという禁じ手に手を出した、掟破りの(自称「次世代」)行動ターゲティング広告「楽天ad4U」について、amachangの「IEのinnerHTMLやapp...
高木浩光氏が「楽天ad4U」の行動履歴確認用リンクを露出させるためのスタイルシートを公開。赤松洋介氏はそれによって取得できるURLを紹介。
------------------------------
楽天ad4Uで表示さ祟..
楽天やライブドアのページにアクセスすると、広告枠にバナーが表示される直前に一瞬、なんか数字のカタマリのようなものが表示されるのが気...
行動ターゲティング広告なんかアクセスが1500近くになり、おかげさまで後3000程で50万アクセスとなります。最初はアタック?とか思ってログ調べたけど、同一のプロバイダやIPから大量アクセスがあったわけでもなく、東京マグニチュードのバッドエンドパターンをキツ目に書...
これはびっくりだ。...
高木浩光@自宅の日記 - 楽天ad4Uの隠しリンクを露出させるユーザスタイルシート
最近の広告配信はよくできていて、なんか前に探したもの、購入したものをよく見かけます。
ようできてるけど、ここまでされるとちょっとね。。。と感じるのでよく目にする楽天市場の物は全部無効にしました。