- ベストアンサー
cgiファイルを直接は見れなくするには
windowsXP Home SP3 apache2.2でCGIプログラムの勉強をしています。 htmlのformのactionでCGIを呼び出すのは許可して、 cgiファイルのurlを直接指定してアクセスするのは許可しないようにするにはどうすればいいでしょうか? また、htmlのトップ(1つのhtml)にはアクセスできるけど、その他のhtmlにはトップから辿っていくしかない(直接url入力しても見れないようにする)方法はあるでしょうか? なるべく簡素な方法をよろしくお願いします。m(__)m
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
403 Forbidden というエラーは、アクセス禁止である、 というエラーメッセージです。 サーバー側でcgiファイルへのアクセスを禁止する設定にしていると思われます。 サーバーに「.htaccessファイル」を置いて、そちらに詳細を設定します。 「.htaccess」で検索すれば、たくさんの情報を拾うことができますので 一度ご確認されることをおすすめします。
その他の回答 (1)
- anaglyph
- ベストアンサー率69% (25/36)
回答No.1
Refererをチェックして、 特定のリンク元以外から来た場合はどこか (htmlのトップとか)にリダイレクトさせるというのはどうでしょうか。
質問者
お礼
回答ありがとうございます。 なるほど、Refererを調べるのですね。 実はCGIのゲームを作りたいと思ってるのですが、 その参考にあるCGIゲームのサイトを調べたのですが、 CGIファイルを直に開こうとすると403フォービドンエラーが出て開けません。 これはどういう仕組みなんでしょうか?
お礼
.htaccessファイルの設定例を参考に、httpd.confファイルのcgiディレクトリに SetEnvIf Referer localhost ok Allow from env=ok を指定することで、うまくcgiファイルへのアクセスを制御することができました。 ありがとうございました。