2011-10-21 11 views
4

私のサーバーでは、index.phpまたはindex.htmlを持たないフォルダを作成しました。.htaccessは、ユーザーがindex.phpを持たないフォルダファイルを表示することを許可しません。

folder1/test.php 
folder1/sample.php 
folder1/hello.php 

このフォルダにアクセスしようとすると、そこにすべてのファイルが表示されます。

これは私の心配です、それはハッキングする傾向があるので、私のフォルダにファイルを表示すべきではありません。それは403禁止のようなページを表示する必要があります。 index.phpを使用してどこかにリダイレクトしたくないのです。

これは.htaccessが関係していると聞いていますが、これは賢明なことです。

どうすればいいか教えてください。あなたのドキュメントルートに.htaccessファイルで

+1

そして、なぜ「クロスサーバ」(nginx、apache、IIS、その他)オプションは、あなたが自動的に提供したくないディレクトリの ''の 'index.html'ファイルは悪いですか? – 6502

答えて

3
+0

こんにちは、あなたの答えは魅力のように動作します。ちなみに、あなたが投稿したリンクを見ています。 -Indexesの説明だけを示していますが、ダッシュ(Options - )の意味は何ですか? ありがとう! :) – PinoyStackOverflower

+1

それはすべてです。 * Optionsディレクティブは、特定のディレクトリで利用可能なサーバ機能を制御します。* – Phil

1

あなたが参照している「とディレクトリの参照」と呼ばれ、通常、悪いことです。ディレクトリの参照を防止するには、サイトのルートに.htaccessファイルを作成または変更します。

あなたは.htaccessファイルを作成する場合は、その中に次の行を配置します。

Options All -Indexes 

変更する場合は、

オプションすべて+インデックス

を探します

と変更してOptions All -Indexes

Indexesディレクティブが表示されない場合は、オプション1の行を追加します。それは必要です。

2

これはディレクトリリストと呼ばれます。あなたは、任意のファイルを一覧表示するディレクトリのリストを防ぐために

​​

のfolder1に .htaccessという名前のファイルを追加する必要があり、それに次の行を追加します。

+0

これは、すべてのディレクトリにindex.phpやindex.htmlを置くのと同じですが、あなたのものは.htaccessです。将来、folder1だけでなく、さらに多くのフォルダが追加される可能性があります。だから私は、ルートの.htaccessでそれを定義すると良いと思います。とにかくお返事ありがとうございます! :) – PinoyStackOverflower

1

はい、あなたが置くことができます。

Options -Indexes 

それともこれを:

IndexIngnore * 

しかし表彰する.htaccessのためにあなたがしsimlar何かを置く必要があります:

AllowOverride All 

サーバー構成のhttpd.confなどで

関連する問題