A_single_file_wiki_wifky2.png

[Q] 外部ページからの直接 CGI 呼び出しが禁止されている

infoseek では、サイト内の html ファイルからのリファラーが無い CGI 向けリクエストは拒否されてしまいます。

それゆえ、転送用の静的htmlを設置して、当問題を回避する必要があります。 この時の転送方式には二種類あります。

  • リダイレクト転送方式
  • フレーム転送方式

リダイレクト方式は知られているため、ここではフレーム転送方式のみ説明します。

フレーム転送方式

下記のような html ファイルを URL http://○○.infoseek.co.jp/index.html となるように用意すれば Ok です。

<html>
<head>
    <title>タイトル</title>
</head>
<frameset cols="*">
    <frame src="http://○○.infoseek.co.jp/cgi-bin/wifky.cgi" />
</frameset>
</html>
  • URL欄が http://○○.infoseek.co.jp/index.html のままであるため、 「(infoseek の制限上)リンクは http://○○.infoseek.co.jp/index.html に 張ってください(でないとエラーになってしまう)」と明記する必要がない。
  • 外部リンクをたどった時にも URL 欄が変わらないという問題がある。
    • ⇒ Tools 設定の「target value for external link.」に 「_top」と書くことにより回避できる。

本件についての検証に ご協力いただきました QWERTY 様に、この場を借りて、お礼申し上げます。

|

Designed for @nifty.