• ベストアンサー

ディレクトリの一覧が見えるのを防止したい

私の使っている、サーバ(地元プロバイダ)は、.htaccessは使えるものの、 Options -Indexesを使うとエラーが出てしまいます。 今は、空の、index.htmlを置いているのですが管理が面倒です。 そこで、サーバーの返す?403 Forbiddenを設置できればセキュリティ上より強固なものとなり、 しかも、管理も楽になる(置忘れがなくなる)のですが、何とか、403 Forbiddenを出力させる 良い方法はないでしょうか? ご教示、宜しくお願い致します。

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

  • ベストアンサー
noname#60878
noname#60878
回答No.4

No3の方と同意見です。 ファンシーインデックスを禁止するのが簡単です。 この場合、403が出ます。 そのディレクトリ(あるいはそのディレクトリを含む上位のディレクトリ)で他に403になるようなケースがほとんど無いならば、 ErrorDocument 403 飛ばす先のページのURL として 403をオーバーライドしてしまえば良いと思います。 私の場合、リダイレクトを利用しております。 特定のディレクトリ以外にはindex.htmlを置いていない場合は、リダイレクトマッチを使って、index.html をすべて正規の入り口のページへリダイレクトしてしまっています。 サーバは、ディレクトリが指定されると、デフォルトページ(通常はindex.html)へリダイレクトしようとします。これが無い場合は、optionに従ってインデックスを出すか出さないかしますが、ここで、index.htmlをリダイレクトするように設定しておくと、そのページへ(301を2回して)飛ばされます。 もし、サーバの設定で、デフォルトページが index.html index.htm となっているならば、index.htm(優先度が低い方)をリダイレクトするようにします。すると、index.htmlがあればこれを表示、無ければindex.htmを表示しようとして・・・飛ばされる。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • mura23
  • ベストアンサー率0% (0/1)
回答No.3

Options -Indexes を IndexIgnore * にしてもだめでしょうか? 「IndexIgnore *」は403のページにはならず 一覧表示のページがでますが ファイルは表示されなくなるはずです。

すると、全ての回答が全文表示されます。
  • YOU-JI
  • ベストアンサー率26% (8/30)
回答No.2

パーミッションを変更して読み取りが出来ないようにしてしまうと、そのディレクトリ以下のファイルが使えなくなってしまいますから・・・やはりサーバを変えるかサーバの管理者にメール等を送って直接聞いてみるのが良いのではないでしょうか?

すると、全ての回答が全文表示されます。
  • OMP
  • ベストアンサー率23% (132/553)
回答No.1

ディレクトリのパーミッションを変更して、ユーザの権限を 読み取り不許可にしても、ダメですか?

ayu_mi_nic
質問者

お礼

回答いただきありがとうございます。 残念ながら、無理でした。 それを、行うと、その下にある、読み取りたいファイルにもアクセスができませんでした。

すると、全ての回答が全文表示されます。

関連するQ&A