リロード | 新規新規 編集編集 差分差分 添付添付 バックアップバックアップ | 一覧 検索 最終更新 凍結 複製 改名 | ヘルプ | 最終更新のRSS |

 
転送とReferer 
http://wiki.nothing.sh/257.html

█ 転送とReferer

Last-modified: 2014-12-25 (木) 00:29:42 / Short URL: http://wiki.nothing.sh/257.html / add to hatena bookmark 1(1) users / add to livedoor clip - users

転送とReferer

率直に言うと、 infoseek isweb 上の CGI へのリンク方法です。折角 InterWiki 使えるのに、不便な思いするのも嫌なので。
Wiki サイトにリンクするときにとても困るので、何とかならないかとちょっと調べてみました。

最初は自分で infoseek 内にアカウント取って、そこから JavaScript 辺りでリダイレクトさせるようにしようかとやってたんですが、そこまでしなくても良いことに気づきました。

infoseek isweb 側の仕様

まぁ、いつ変更されてもおかしくないのですが、現状で大体の感じとして

  • "infoseek.co.jp" が Referer に含まれていないと 403 Forbidden
  • あるいは Referer が空でも OK

ちうわけで Referer を空にしてやれば良いようです。

リダイレクトの方法

リダイレクトの手法としては大きく分けて

  • 直接クリック(普通のリンク)
  • Location ヘッダによる転送
  • Refresh ヘッダ(Metaタグ)による転送

ってのがあります。まぁ JavaScript とかは別として、サーバー側で完了できる物ですが。

で、これらの中で唯一、 Refresh ヘッダは Referer を吐かないのです。試した中では

IE6
吐かない
Mozilla
吐かない
w3m
何故か"meta refreshに対応する"を使っても転送してくれませんでした.

そんな感じです。とりあえずこれで、 IE や Moz は対応できます。

ちなみに、自分の環境がどういう Referer 吐くかは

http://wiki.nothing.sh/redirect.php

で確認できますので確認してみて下さい。 by Clickingby Location Header が一緒で、 by Refresh Header が空 (-) なら普通の環境です。そうでない場合は教えて下さい。

Refresh 非対応環境

でまぁ、上の例だと w3m が Refresh 対応してくれてないので不便です。どうしましょ。

と思ったんですが、普通にリダイレクタ書けば、 Referer に infoseek.co.jp は含まれるので、リダイレクタで普通にリンクを表示して、クリックしてやれば問題ありませんでした。

というわけで問題解決。

これで、例えば Data Backup memo さん ( http://databackup.hp.infoseek.co.jp/ ) の Wiki に


(HTML conversion costs 0.016 sec.)