• ベストアンサー

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

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

  • HTML
  • 回答数4
  • ありがとう数2

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

  • ベストアンサー
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

  • ディレクトリ表示について

    ホームページを作成したのですが、サイトのアドレスを削ると 他にアップしてあるファイルがアドレス欄に表示されてしまいます。 これを表示しないようにするにはどうしたらいいのでしょうか。 ちなみに、各フォルダ内に空のindex.htmlとhtmをおいていて、 フォルダのパーミッションを711(もしくは701)、 htmlファイルなどは604にしています。 アクセス制限をかけているので.htaccessを置いています。 .htaccessの一行目にOptions -Indexesと記述してみましたがそれも効果がなく… 対処を間違っているのでしょうか? どなかた詳しい方、よろしくお願い致します。

  • OSXで.htaccess

    .htaccessを試しているんですが 置き場所は/Library/WebServer/Documents/.htaccess 自宅サーバに使っています htppd.confをいじくって Options -Indexesまでできるようになったんですが パスワード認証などを設置すると500エラーがでます ローカル192.168.1.17でもエラーがでます 記述は間違ってないと思います 他にも404のエラーページを出したりすると 500エラーがでます ディレクトリなどを書く.htaccessではエラーがでています Options -Indexesならちゃんと消えているんですが httpd.confのどこの設定を変えれば良いのでしょう教えてください!

  • web上のファイル一覧を見えるようにする

    webアクセスの際、urlでフォルダ名を指定した ときに、ファイル一覧が見えるようにしたいのですが、 いくら.htaccessをいじっても 上手くいきません。どうしたらよいものでしょうか。 よろしくお願いいたします。 【表示されるエラー】 Internal Server Error 【.htaccessの中身】 (cameraのフォルダに入れてあります) <Directory /home/foobar/public_html/camera>   Options +Indexes </Directory> 【ファイル一覧を表示させたいフォルダ】 /home/foobar/public_html/camera 【環境】 Apache-1.3.27を使用しています。 httpd.cnfには、以下の記述を置いてあり、 Optionsに、Indexesがオーバーライドするように しています(しているつもりです)。 # <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS PROPFIND> Order allow,deny Allow from all </Limit> # #

  • .htaccessの設置について

    HPを制作したのですが、ソース内の文字を文字化けさせたくて .htaccessを設置したのですが見れてしまいます。 属性も604にしました。 内容は Options -Indexes DirectoryIndex index.html index.htm index.cgi index.php <Files ~ "\.(htpasswd|htaccess|txt|log|csv|xls|dat)$"> deny from all </Files> です。 これだけではダメなのでしょうか?

    • ベストアンサー
    • HTML
  • .htaccessによるディレクトリ内ファイル一覧出力(JSON形式)

    .htaccessによるディレクトリ内ファイル一覧出力(JSON形式) .htaccessを利用して,ディレクトリ内部のファイル一覧をJSON形式で出力することを考えています. DirectoryIndexで設定したインデックスファイルが存在しない場合に表示される ファイル一覧ページを変更する形での実現を調べてみましたが,よくわかりませんでした. .htaccessでそのような設定は可能なのでしょうか. また,ファイル一覧ページの変更以外に何か方法はあるのでしょうか. なお,PHP等のサーバーサイドスクリプトは使わない方針でお願いします.

  • .htaccess でディレクトリ一覧表示対策(Wordpress)

    wp-content/ 内のフォルダにアクセスしたらファイルの一覧が表示されるようになっていたので、http://coliss.com/articles/blog/wordpress/825.htmlの「ディレクトリのファイル一覧を表示させない」に書かれているように、.htaccessに Options -Indexes と書き、/wp-content/へアップロードをしてみたところ、CSSファイルや画像ファイルも表示されなくなってしまいました。 CSSファイルや画像ファイルは通常通りに表示されるが、ファイルの一覧は表示されないようにするにはどうしたらいいでしょうか? よろしくお願いします。 環境:さくらサーバー、wordpress 2.5.1

  • [Apache] サブディレクトリに.htaccessをおいた場合

    Apacheの.htaccessについての質問です。 webにて可能な限り検索してみたのですが、該当する記事がありませんでした。 よろしくお願いします。 【環境】  ・windows xp sp2  ・xampp(apache 2) 【httpd.confの設定】 DocumentRoot "J:\foo" <Directory "J:\foo"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> ※)Jドライブは外付けHDDです。 【現象】 1.DocumentRootの「J:\foo」に.htaccessを設置した場合   1)http://localhost/でアクセス     →機能します   2)http://localhost/ver/でアクセス     →機能します   ※)DocumentRootに.htaccessを設置した場合、通常の動作になる。     (サブディレクトリにもDocumentRootに設置した.htaccessの設定が有効になる) 2.「J:\foo\ver」に.htaccessを設置した場合(DocumentRootの.htaccessは除去)   1)http://localhost/ver/でアクセス     →機能しません 「2」を機能させたいのですが、どのような設定が必要なのでしょうか。 尚、念の為.htaccessの内容を以下に記します。 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /index.html [L,QSA] この.htaccessについてはレンタルサーバ上で動作確認済みである為、おそらくはhttpd.confの設定かと考えています。 または外部HDDにDocumentRootを設定しているのが問題かと・・・。 説明不足な点がございましたらご指摘頂けると幸いです。 以上、どうぞよろしくお願い致します。

  • .htaccessの2つ以上の設定の仕方を教えてください!

    .htaccessでフォルダの中身を見れなく設定しているのですが、 もう一つ設定する場合、続けて書いたらサーバーエラーになってしまいます。 どうしたらよいのでしょうか? 設定したいものは 1.Options -Indexes 2.Options Includes AddHandler server-parsed html これをふたつ記述するのはどうすれば…。悩んでいます。

  • webサイトの「index」を非表示にしたい

    質問です。 WEbサイトで「http://○○/index.html」の 「index」を非表示にしたいのですがうまくいきません。 「.htaccess」で <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> Options -Indexes order deny,allow と入力しサーバにアップはしているのですが、 他のページからINDEXページに戻ってきた際に indexが表示されています。 最初にWEBページにやってきた時は消えている時もあります。 ブックマークからサイトにくると表示されています。 どこか間違っている箇所があるか 教えて頂けると幸いです。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • apacheのユーザーディレクトリの設定

    Fedora Core6のapacheのユーザーディレクトリの設定で悩んでいます。 設定ファイル(httpd.conf)には以下のように記述しています。 #UserDir disable UserDir public_html <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> ユーザー登録をして/home/ユーザ名/にpublic_htmlフォルダを作成して、index.htmlページを作り、http://localhost/~ユーザー名/index.htmlにアクセスしましたが、「403 Forbidden」となってしまいます。 http://127.0.0.1/~ユーザー名/でアクセスしても「403 Forbidden」になります。 フォルダやファイルのパーミッションをいろいろと変えてみましたが表示されません。 こちらはLinux勉強中の初心者です。 よろしくお願いします。