脆弱性を突いてブラウザの閲覧履歴を調べるという禁じ手に手を出した、掟破りの(自称「次世代」)行動ターゲティング広告「楽天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スクリプトをインストールするのと同様のリスクを伴う。悪意あるスタイルシートを組み込んでしまわないよう、得体の知れないサイトの言うことを信じて安易にインストールしてはいけない。
彼女は某総合病院の看護士 みさちゃん。
下 着を剥ぎ取り彼女のアソコを指でなぞると、生暖かい液体で濡れそぼっていた。
指を入れると、それに合わせて彼女の体は過剰に反応する。
その反応が愛しくて、俺は指を動かし続けた。
「ダメェッ、イクッ、イクッッ!!」