短縮URL提供サービスまとめ
最近Twitterを使い始めたら、短縮URLにお目にかかる機会が多くなった。信頼できるユーザの短縮URLであれば特に気にしないのだが、信頼してもよいか判断が難しいユーザの短縮URLはアクセスするかどうか、躊躇してしまう。フィッシングサイトや攻撃コードが仕込まれたサイトへの誘導にも悪用されていることを考慮すると、短縮URLから転送されるURLが事前に確認できればいいなーと思う。例えば、TinyURL.comであれば、Preview機能を提供している。他の短縮URL提供サービスでもPreview機能を提供していないかと考え、Twitterが利用している短縮URL提供サービスをざっと調べてみた。
短縮URLサービス | 登録コンテンツへの誘導 | 登録コンテンツの URL 確認手段 |
---|---|---|
TinyURL.com | HTTP レスポンスコード 301 | あり |
bit.ly | HTTP レスポンスコード 301 | あり |
RubyURL | HTTP レスポンスコード 301 | なし |
myurl.in | JavaScript window.location.href | なし |
TweetBurner | HTTP レスポンスコード 301 | なし |
BIND.TO beta | HTTP レスポンスコード 301,302 | なし |
ur1 Generator | HTTP レスポンスコード 301 | なし |
Ow.ly URL Shortener | iframeによる登録コンテンツ埋め込み | なし |
tr.im your URLs | HTTP レスポンスコード 301 | なし |
FriendFeed | HTTP レスポンスコード 301 | なし |
Twit Robot | HTTP レスポンスコード 301,302 | なし |
is.gd | HTTP レスポンスコード 301 | あり |
l.pr | HTTP レスポンスコード 302 | なし |
Cligs | HTTP レスポンスコード 301 | なし |
PING.fm | HTML meta タグ | なし |
ざっと調べてみた結果、調査した15サイトのうち、2サイトしかPreview機能(ツールを含む)が提供していなかった。こうなると、リダイレクト先の確認については、ユーザが工夫するしかなさそうだ。
短縮URL提供サービスにおける登録コンテンツへの誘導手段は、3種類*1あった。
- HTTPレスポンスコード*2
- HTML metaタグ
- JavaScript
2については、Firefox Add-onのRefreshBlockerでユーザの介入なしでのりダイレクトを防止し、リダイレクト先を確認できる。またmetaタグでのリダイレクトを防止するだけであれば、Firefox の accessibility.blockautorefreshを有効にするだけでよい。3については、Firefox + NoScript であれば、ユーザ介入なしのリダイレクトの防止・確認が可能である。1だけはブラウザおよびブラウザの拡張機能だけでは、リダイレクト先を確認できなさそうだ。手軽に対応するならば、wgetが利用できそうだ。利便性は落ちてしまうが、安全性を求めるのであれば、この手段を利用してもよいか。
bash-3.2$ wget -O - -S --max-redirect=0 http://bit.ly/rXYm5 > /dev/null --2009-08-02 20:04:34-- http://bit.ly/rXYm5 Resolving bit.ly... 168.143.174.25, 168.143.174.29, 128.121.254.129, ... Connecting to bit.ly|168.143.174.25|:80... connected. HTTP request sent, awaiting response... HTTP/1.1 301 Moved Server: nginx/0.7.42 Date: Sun, 02 Aug 2009 11:04:45 GMT Content-Type: text/html; charset=utf-8 Connection: keep-alive Location: http://transnatic.com/viewtopic.php?f=3&t=10 MIME-Version: 1.0 Content-Length: 306 Location: http://transnatic.com/viewtopic.php?f=3&t=10 [following] 0 redirections exceeded.
上記は、Cygwin + wget 1.11.4 でのりダイレクト先を確認した例である。ここで例示した短縮URLはTwitterの投稿に記載されていたもの。無作為に選択した。
--max-redirect=0オプションを設定することで、HTTPレスポンスコードによるリダイレクトを実行しない。また、リダイレクト先を確認するだけであるため、取得コンテンツをファイルに出力する必要がない。そのため、-O - で取得コンテンツを標準出力に表示し、その出力を /dev/nullにリダイレクトしている。
Twitterでリダイレクト先を確認する方法を用意してくれると嬉しいな。
[2009/08/08 追記]
同じように短縮URLまとめを作成されている方がいました。
URL短縮まとめサイト « azunyan.blog
この短縮URLまとめで紹介している、Untinyがいい!短縮URLをインプットし、登録されているオリジナルURLをアウトプットとして返すウェブサービス。Firefox 用 Add-on,UntinyFox 2.0 や Bookmarklet,Untiny Bookmarkletも提供している。このウェブサービスを使えば、短縮URLがきても怖くない!
【収集用メールアドレス】:q1w2e3w2@gmail.com