ime.st の偽物作ってみた。
2ちゃんねるとかで外部のページにリンクするときにかまされている http://ime.st/ なのだが、昨日今日あたりではなんだか反応がノロいので、apache の mod_rewrite を使って代替品を作ってみた。やり方としては、apache で URL リダイレクトの設定をして、hosts ファイルかDNSで ime.st の名前を引いたときに apache に接続されるように仕向けるだけ。
apache の httpd.conf に、こんな内容を書いてやった。
<VirtualHost *>
ServerName ime.st
RewriteEngine on
RewriteRule ^/(.*)$ http://$1 [L,R]
</VirtualHost>
あとは、ホスト名 ime.st のときにはこの設定の行われた apache の IP address を返すように設定してやればよい。 たとえば Windows を使っている場合には、 c:Windowssystem32driversetchosts にこのような内容を追加してやる。
192.168.10.3 real_hostname ime.st
上の real_hostname
は、実際のサーバのホスト名を指定してあげてください。 自分の家とかで bind などで DNS 構築しているなら、そいつに ime.st のゾーン情報を設定してもよいでしょう多分。 localhost で apache 動かすんだったら、127.0.0.1 のところに ime.st を追加してあげればよいでしょう。
こいつの問題点としては、この機能では HTTP のリダイレクトを期待して動作しているため、Web ブラウザの HTTP Request の Referer ヘッダにおいて、本物の ime.st を使っている場合はリンク元となっている2ちゃんねるなどの掲示板のスレがわからないようになっているのですが、これを使うとリンク先のページで Referer が通知されるためリンク元のスレがわかってしまいます。 対処するとなると、HTTP のリダイレクト機能を使わず、普通に HTTP Response 200 OK を返して、HTML のリフレッシュ機能とか使ったほうが賢明かもしれません。 でもそうすると、今回のよりもっと煩雑な仕事になりそうなので、今回はパス。 あと、ime.st がブラクラチェックとかしているのでしたら、そちらも対応していないってことになります。
コメント
コメントを投稿