Hail2u.net

infoseekの403 Forbiddenを回避する

infoseek iswebに置いたCGIへリンクを張り、それをクリックして飛ぼうとすると403 Forbiddenが返されるわけですが、Googleのリダイレクト機能を利用するとこれを回避できるみたいです。以下に例を挙げてみる。

「そういやGoogleの検索結果からCGIに直接ジャンプしても403にならないな」と思ったので、これはきっとGoogleは特別扱いしてるのだろうと想像し、Going My Wayコメント本文のURLをリダイレクトするコメントスパム対策で紹介されていたGoogleのリダイレクト機能を利用して試したら、うまく回避できました。

実際にうまく利用することは難しいかもしれないですが、例えばblosxom starter kitで構築しているblogからTrackBackを送信する場合、blogのURLにこのリダイレクト込みのURLを渡してやるとか良いかも(送信先でPRスパム対策にリダイレクト利用してたりすると大変なことになるかも)。

とか、こんなこと書いたら塞がれたりしてな。

追記@2004/05/31

いくつかのサイトで取り上げてもらったのをリファラなどから見ました。飛べない場合もあるとかそういう話がちらほら。多くの場合、その原因は飛ぼうとするURLに&が含まれており、かつURLエスケープしてないということにあると思います。一般的なCGIスクリプトと同じようにこのGoogleのリダイレクト機能は&をパラメータの区切りとみなしているので、仮に、

http://www.google.com/url?sa=D&q=http://example.com/example.cgi?foo=bar&hoge=hage

とURLを指定すると、Googleのリダイレクト機能は、hogeという不明なパラメータを与えられたと解釈します。

わかりづら。

要はhttp://www.google.com/url?sa=D&q=の後に続けるURLはURLエスケープしろと。こんな感じ。

http://www.google.com/url?sa=D&q=http%3A%2F%2Fexample.com%2Fexample.cgi%3Ffoo%3Dbar%26hoge%3Dhage

まぁ、ここまでしなくても&をエスケープするだけで大概はいけると思います。

http://www.google.com/url?sa=D&q=http://example.com/example.cgi?foo=bar%26hoge=hage

というわけで飛べないということはまずありません。