• ベストアンサー

cgiファイルを直接は見れなくするには

windowsXP Home SP3 apache2.2でCGIプログラムの勉強をしています。 htmlのformのactionでCGIを呼び出すのは許可して、 cgiファイルのurlを直接指定してアクセスするのは許可しないようにするにはどうすればいいでしょうか? また、htmlのトップ(1つのhtml)にはアクセスできるけど、その他のhtmlにはトップから辿っていくしかない(直接url入力しても見れないようにする)方法はあるでしょうか? なるべく簡素な方法をよろしくお願いします。m(__)m

質問者が選んだベストアンサー

  • ベストアンサー
  • anaglyph
  • ベストアンサー率69% (25/36)
回答No.2

403 Forbidden というエラーは、アクセス禁止である、 というエラーメッセージです。 サーバー側でcgiファイルへのアクセスを禁止する設定にしていると思われます。 サーバーに「.htaccessファイル」を置いて、そちらに詳細を設定します。 「.htaccess」で検索すれば、たくさんの情報を拾うことができますので 一度ご確認されることをおすすめします。

MenPin
質問者

お礼

.htaccessファイルの設定例を参考に、httpd.confファイルのcgiディレクトリに SetEnvIf Referer localhost ok Allow from env=ok を指定することで、うまくcgiファイルへのアクセスを制御することができました。 ありがとうございました。

その他の回答 (1)

  • anaglyph
  • ベストアンサー率69% (25/36)
回答No.1

Refererをチェックして、 特定のリンク元以外から来た場合はどこか (htmlのトップとか)にリダイレクトさせるというのはどうでしょうか。

MenPin
質問者

お礼

回答ありがとうございます。 なるほど、Refererを調べるのですね。 実はCGIのゲームを作りたいと思ってるのですが、 その参考にあるCGIゲームのサイトを調べたのですが、 CGIファイルを直に開こうとすると403フォービドンエラーが出て開けません。 これはどういう仕組みなんでしょうか?