ホーム > ネット > .htaccess 使い方 ディレクトリファイル 一覧表示 を防止
目次 | 元のページ 前のページ | 次のページ サイトマップ | ページEND

.htaccess 使い方 ディレクトリファイル 一覧表示 を防止


.htaccess 使い方 ディレクトリファイル 一覧表示 を防止



Web サーバーとして、一般的に使用されている Apache サーバーでは、ファイル名(~.html等)を省略して、ディレクトリ名のみでアクセスした場合、そのディレクトリに存在するファイルを一覧表にして返す機能があります

ファイル名がうろ覚えだった時等、一覧表示から選択したり、http プロトコルでファイル転送できたり、便利な機能なのですが、自分の手の内をさらすのはセキュリティ面からは大変危険な行為で、困ったことに、Apache サーバーでは、このファイル一覧表示機能は、デフォルトで有効、つまり、サイト管理者が知らないうちに、サイト内のファイル構成等が世間にさらされてしまっています


レンタルサーバーの場合、レンタルサーバーの管理元で、このファイル一覧表示機能を無効にしてくれているところもあるのですが、サイト管理者は、一度、自分のサイトがディレクトリ名のみでアクセスした際、どのように見えるのか確認しておくことをお勧めします

不幸にして(通常)ファイル名が一覧表示されている場合、下記方法にて、ファイル名が一覧表示されることのないよう、対策しましょう



ディレクトリ ファイル一覧表示防止法 その1 「index.html」 を配置



お勧めなのは、各ディレクトリに、「index.html」 ファイルを配置しておくことです

「index.html」 ファイルの中身は、各ディレクトリに目次ページファイルがあればそちらに、ない場合、ホームページ(トップページ)にリダイレクトするよう設定してきましょう

エラーを表示するより親切で、次につながる可能性を持てます

※.リダイレクトの方法につきましては、「 HTML ファイル名( URL )変更のやり方 新しい URL に自動転送 」 を
「index.html」ファイル以外をデフォルトファイルに設定したい場合は、
.htaccess 使い方 index.html 以外を デフォルトファイルに設定する 」 をご参照下さい
(別タブ(ウィンドウ)が開きます)




ディレクトリ ファイル一覧表示防止法 その2 「.htaccess」 で禁止



とはいえ、各ディレクトリに、「index.html」 ファイルを配置するだけでは、配置を忘れたり、ファイル名を間違える等で機能しなかったりする恐れもありますので、「.htaccess」 ファイルで、一律禁止設定をしておくのが無難です


記述場所
.htaccess
構文
Options -Indexes
記述例
Options -Indexes
説明
Options -Indexes
ファイル名省略(ディレクトリアクセス)時、「index.html」 ファイルがなければ、サーバは 「403 Forbidden」 (エラー応答)を返します
(改行コード)
最終行は必ず改行し、改行コードのみの空行とします



「.htaccess」 「Options」 構文 設定値



「.htaccess」ファイルに設定する「Options」では、下記のような設定を指定できます


記述場所
.htaccess
構文
Options option option ...
Options [+|-]option [+|-]option ...
記述例
Options all
Options ExecCGI Includes
Options +ExecCGI -Includes
説明
Options all
すべてのディレクトリオプションを許可します
Options ExecCGI Includes
ExecCGI と Includes のみを許可し、他をすべて不許可にします
Options +ExecCGI -Includes
ExecCGI は許可、Includes を不許可にし、その他の設定は引き継がれます
(改行コード)
最終行は必ず改行し、改行コードのみの空行とします
option 指定値
[+|-]
option の前の [+|-] は、それぞれを有効(可能)/無効(不可)に設定します
All
MultiViews を除き、すべてのオプションを有効にします
ExecCGI
CGI スクリプトの実行を可能にします
FollowSymLinks
シンボリックリンクを有効にします
Includes
SSI の利用を可能にします
IncludesNOEXEC
SSI の利用を、制限付きで可能にします
SSI の機能のうち、#exec 命令と、CGIスクリプトの #include 命令が使えません
Indexes
index.html がない場合に、ディレクトリ一覧を表示することを許可します
特別な場合を除いて、許可すべきではありません
MultiViews
コンテンツネゴシエーションされた、MultiViews 検索を許可します
None
すべてのオプションを無効にします
SymLinksIfOwnerMatch
ファイル所有者に限り、シンボリックリンクを許可します (FollowSymLinks より安全です)




.htaccess で 良く使われる フラグ オプション パラメータ 意味


フラグ 意味
[NC] 大文字小文字を区別しない
[R=301,L] R=301 レスポンスコードを 301 (恒久的な移転) に変更
L 直後に続くルールを実行しない
RewriteCond に続けて RewriteRule を複数記述するような場合、最終文につける

目次 | 元のページ 前のページ | 次のページ サイトマップ | ページTOP
ホーム > ネット > .htaccess 使い方 ディレクトリファイル 一覧表示 を防止
   

© 2014 abhp.net All Rights Reserved.

参考情報


ミケネコの htaccess リファレンス

ページTOP
ページTOP
ページTOP
ページTOP