一覧 検索 最終更新 改名 | ヘルプ | 最終更新のRSS |

memo/転送とReferer のバックアップソース(No.4)

*転送と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 Clicking'' と ''by Location Header'' が一緒で、 ''by Refresh Header'' が空 (-) なら普通の環境です。そうでない場合は教えて下さい。

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

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

というわけで問題解決。


これで、例えば Data Backup memo さん ( http://databackup.hp.infoseek.co.jp/ ) の Wiki に
 [[DBm:DiskToDisk]]
のようにしてリンクすることができます。 どんな感じで使ってるかは InterWikiName をご覧下さい。

(HTML conversion costs 0.003 sec.)