RequestPolicyとYahoo!検索は相性が良くない

高木浩光@自宅の日記 - 「NoScript」をやめて「RequestPolicy」にしたを参考に、人柱の心持でFirefoxRequestPolicyを導入してみました。
これはどういうものかというと、(私の理解が正しければ)あるウェブページが別ドメインへのアクセスを要求してきた場合にそれをブロックする機能です。例えば、どうやらYahoo!では画像ファイルをyimg.jpという別ドメイン下に置いてそこを逐一参照しているようなのですが、RequestPolicyを使うとyahoo.co.jp → yimg.jpというドメイン間アクセスを(許可リストに入れない限り)ブロックしてくれます。結果として、その状態でYahoo!のサイトに行くと画像が表示されなくて何ともとほほなことになります。


で、画像が出ないだけならまだ笑い話で済むのですが、その状態でYahoo!検索を利用してみて気付いたことがあります。
なんと、Yahoo!検索では検索結果のリンクをクリックした際、直接該当ページへ飛ばずに、一旦wrs.search.yahoo.co.jpという場所にあるページへアクセスしてそこから該当ページへ転送される仕組みになっているようなのです。
具体例を挙げますと、以下がYahoo!検索でMarriageTheoremを検索した結果(の一部)です。

字が小さくて見辛いですが、当ブログが検索結果の一番上に出てきています*1。「Marriage Theorem 新居」というページタイトルからリンクが張られていますが、そのリンク先は当ブログのアドレス( http://d.hatena.ne.jp/MarriageTheorem/ )だろうとつい思ってしまいますよね。
しかし、実際のリンク先アドレス*2

となっています(長い!)。つまり、検索結果のリンクをクリックすると、当ブログではなく一旦yahoo.co.jpドメイン下のページに飛ぶようになっています。そして、「別のドメインへ転送されようとしているよ」という趣旨のメッセージ(実際は英語ですが)が表示され、当ブログは表示されないままユーザの反応待ち状態となります。


何故そういう構成にしているのか理由は定かではありません*3し、これがセキュリティに直接影響するのかどうか私にはよくわかりませんが、単純にユーザ視点から見ると毎回転送確認メッセージが表示されて非常に鬱陶しいです。
しかも、検索なので当然ですが転送先のドメインは毎回異なるため、予めRequestPolicy側の設定で対処するためには(少なくとも私の理解では)yahoo.co.jpから他ドメインへのアクセスを一括して許可する必要がありますが、件の高木さんの日記にも

一方、「Allow requests from example.jp」は滅多に使わない方がよい。これを許可してしまうと、そのサイトが改竄されたときに対策がパアになる。面倒でも、個別に「Allow requests from example.jp to example.com」でひとつひとつ許可して使う。そうすれば、攻撃者がexample.jpを改竄したとしても、example.comも同時に改竄しない限りこの対策はパアにならない。

高木浩光@自宅の日記 - 「NoScript」をやめて「RequestPolicy」にした

(強調は引用時)とある通り、そういう設定は出来る限り避けるのがセキュリティ上望ましい態度です。


それにしても、まさかこんなヘンテコな構成になっているとは思いもよりませんでした(もっと早く気付けよ、というツッコミが来るかもしれませんが)。
ちなみに、ひょっとして他の検索サービスでも同様なのかと思って、とりあえずMSNExciteで試してみたところ、そこでは検索結果のリンクから直接当ブログに飛べるようになっていました(ですよねー)。
あと、ひょっとしてYahoo!日本法人の独自仕様なのかと思って本家Yahoo!でも試してみました*4が、リンク先は

と、やはり日本版と同様に直行ではなくyahoo.com下のページから転送される構成になっていました。


というわけで、とりあえず実験的にメインの検索サービスをYahoo!検索からBingに切り替えることにしてみました。
FirefoxMicrosoftの提供サービスというのは別の意味で相性が悪そうですが(笑)、技術的には問題ないでしょう、多分。

*1:それもどうかと思わなくもありませんが

*2:細部は毎回変わるかもしれませんが、少なくとも今回の

*3:統計でも取っているのでしょうか

*4:流石にそのままでは当ブログを見つけるのは難しいため、site:.jp指定をつけました