楽天ad4Uの隠しリンクを露出させるユーザスタイルシート
高木先生のブログで「楽天が :visited を使いユーザの履歴を盗み見ている」とあった(要約)。
CSS セレクタ作者として「いつかは…」と思ってましたが意外に早かった。
嫉妬混じりの批評もあるみたいだし。
このような用法に対しては事前に考える時間があったので、個人的には平静を装いたいのだけど、それでは収まりが付かない人もいるようですので、ちょっと打破する方法を考えてみました。
...(自粛)...
このままだと中身が無い記事になってしまうので、ちょっとだけ
行動ターゲティングベースの広告をまねしたい人と、ガードしたい人の両方がいると思います。
一人の技術者としては、以下のアドバイスが可能です。
- 盾: mutation event で、IE 以外のブラウザでも履歴を搾取する瞬間を捕らえ、ガードするスクリプトが可能です。ユーザースタイルシートで、:visited と :link を同じ色に強制することでも回避が可能でしょう。
- 矛: もしあなたが :visited を使ったアイデアをお持ちなら、CSSセレクタがやっていることを実装すれば、同じようなことが可能です。技術的には簡単ですが、モラル的に安全かどうかは良く考えるべきでしょう。
盾と矛の両方が揃って、初めて :visited の面白い使われ方が出てくるんじゃないかな? とか、
行動ターゲティングは :visited のダークサイドであって、もっと良い使い方があるのでは? なんて事を考えてます。