まず、掲示板を設置する前のサーバの設定について説明します。 掲示板を設置する際に、ファイルの管理をしやすくするために「bbs」などのサブディレクトリを作ることがあります。 しかし、ここに危険な落とし穴があります。 サーバ側の設定で各ディレクトリごとに「index.html」がない場合、ブラウザにディレクトリ一覧を表示させる設定になっているWebサーバがあります。 これによって、見られては困るパスワードファイルや非公開ファイル、大切なデータの入ったファイルを観覧、改ざんされる可能性がでてきます。
たとえば、サブディレクトリ「bbs」を作成したとします。
http://www.xxxx.com/bbs/bbs.cgi
このサブディレクトリ「bbs」に掲示板用CGIスクリプト(bbs.cgi)を設置したとします。
そこで、次のようにURLをカットして、ブラウザでアクセスします。
http://www.xxxx.com/bbs/
ファイル名を省略した場合、ブラウザはサーバの設定で「index.html」、「index.htm」、「index.cgi」の順に探しに行きます。 その際にそれらのファイルが見つからなかった時に、サブディレクトリの一覧が表示される設定になっている場合があります。
この問題を回避する方法は、サブディレクトリを作成した際には、各サブディレクトリに空の「index.html」を置くことで解決できます。 もし、「.htaccess」環境設定ファイルが設置できるサーバでしたらディレクトリ一覧を表示させないように設定する方法もあります。 「.htaccess」に以下の1行を記述します。
Options -Indexes
これを書いておくと「index.html」のないディレクトリが指定されたときは「403 Forbidden」がブラウザに表示されます。 詳しくは.htaccessについての説明ページをご覧ください。