public_html下の特定下のディレクトリでSSIやCGIなどを無効にするには?

[上に] [前に] [次に]
Hiromu 1999/06/25(金) 01:19:57
public_htmlにおいている.htaccessでCGIやSSIなどを許可しているのですが、
それ以下のある特定のディレクトリ下でそれらを無効にしたいのですが、どうしたらよいのでしょうか?

また、public_html下のディレクトリに空の.htaccessを置いたとすれば、設定はデフォルト(?)になるのでしょうか?
public_html/.htaccessのものが有効になるのでしょうか?

B-Cus 1999/06/25(金) 01:38:54
無効にしたいディレクトリの .htaccess に
 Options -ExecCGI -Includes
と書けばいいです。public_html/.htaccessに
 <directory foo>
  Options -ExecCGI -Includes
 </directory>
でもいいかもしれない。

> また、public_html下のディレクトリに空の.htaccessを置いたとすれば、
> 設定はデフォルト(?)になるのでしょうか?

まずサーバの設定が読まれ、次にpublic_html/.htaccessが読まれ、
その次に public_html/foo/.htaccess が読まれます(よね?)。
ですので、public_html/foo/.htaccess が空なら、サーバの設定と
public_html/.htaccess のみが反映されます。

Hiromu 1999/06/25(金) 01:52:54
ありがとうございます。

あと、実はとほほさんのWWWUPLで、アップロードしたファイルに
.uplが自動的につくようになっているのを解除しても大丈夫なようにしたかったんです。
SSIとCGIを禁止すれば、セキュリティー上の問題は拡張子を付け足す並みに安全になるのでしょうか?
これらだけを禁止するだけでは、甘いのでしょうか?

B-Cus 1999/06/25(金) 02:18:18
いいんでないすか。もちろん10MBのファイル送られたり、という
危険性はありますが。

でも、改造の仕方にもよりますが、(filenameなしで)name=../fuga とか
送っちゃうと上位のディレクトリに書き込まれるような気がします。

あと、致命的ではないんですけど、hoge;fuga とかを(URLエンコードしないで)
送った場合、$nameが空になって、ディレクトリへの書き込みになってしまうかも。
# ちゃんとperlがはじいてくれるから、何か書き込まれるわけじゃないんだけど。

ちゃんとwwwupl2.cgi読んだわけではないので、間違っていたら失礼。

Hiromu 1999/06/25(金) 02:36:31
たびたび、すみません。
DirectoryIndexを解除する方法とかあるのでしょうか?
indexを送られてしまうと、アップロード先ディレクトリが覗けなくなってしまいます。

[上に] [前に] [次に]