人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perl についてお聞きします。前回に引き続き素朴な疑問です。

自分はよく、PerlでCGIプログラムを作って遊んでいます。そこでちょっとした疑問があります。

たとえば

例)http://www.test.com/uhihi.cgi

uhihi.cgiというCGIを作って、そのCGIが同じ階層に「data.txt」を作り出すことをよくやるのですが、ブラウザに直接

http://www.test.com/data.txt

と打ち込むと直接data.txtの中身を見ることができてしまいます。

こりゃイカンと思ってパーミッションをいろいろいじってみました。すると直接参照はできなくなったのでほっとしましたが、こんどはuhihi.cgiがdata.txtを参照できなくなりました。

たいしたデータではないので、そのままほっておいてるのですが、

「直接参照はできないが、中に置かれているCGIは自由にdata.txtをいじれる」

という状況を作り出すにはどうしたらいいのでしょうか?


●質問者: zachouR
●カテゴリ:インターネット ウェブ制作
✍キーワード:CGI Perl txt データ パーミッション
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● samejima
●23ポイント

data.txtをDocumentRoot外に置く。

URLはApacheの物ですが他のサーバーにも同様の設定はあります。

◎質問者からの返答

なるほど!確かにそうすれば、見ることはできなくなりますね。

しかし、xreaなどのレンタルサーバーを借りている場合はどうでしょうか?

ドキュメントルート以外に保存する方法があるのでしょうか?

ありがとうございました


2 ● b-wind
●23ポイント

xreaなどのレンタルサーバー

ふつうは教養サーバーでも public_html などのディレクトリ以下しか公開されないので、それ以外のディレクトリに配置すればいい。


XREA.COM

上記の「アップロードするディレクトリ」以外は Web から直接参照できないようになっている。

パーミッションさえ問題なければ CGI からはアクセスできるのでそうすることが推奨される。

◎質問者からの返答

ありがとうございます。

XREAでいうと、一番上?public_htmlと同じ場所に「data」というフォルダを作ってそこに保存してみます。


3 ● tsukis
●22ポイント

DocumentRootの外に置く以外では、

データ用のディレクトリを作り、その中に以下のようなhtaccessファイルを設置すれば、Webから直接参照はできないようになります。

<Files ~ "\.(dat|log|csv|txt)$">

deny from all

</Files>

このサンプルは、拡張子dat,log,csv,txtファイルを閲覧させないような設定です。

http://www.salut.ne.jp/wmh/seminar/sc006/index.html

◎質問者からの返答

こういう方法もあるんですねー。

利便性を考えると、こちらのほうがいいような気がしてきました。

ありがとうございます


4 ● tezcello
●22ポイント

Xrea なら、.htaccess が使えるののでは?

だったら、好きな所にディレクトリを作り、パーミッションを777にしておいて、そのディレクトリに以下を書いた .htaccess ファイルを置いたらどうでしょう。

Options none

deny from all

ウェブ経由のアクセスは全部拒否してくれる筈です。

http://q.hatena.ne.jp/1190370073

◎質問者からの返答

ありがとうございます。

上記の方とどのあたりが違うのでしょうか?

さっそく試してみたいと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ