set.cgi set1.cgi set2.cgi を以下のように修正する必要があります。set.cgiの設定 (1つ目の掲示板) → 以下リスト中の 赤色文字 を書き換える。 set1.cgiの設定 (2つ目の掲示板) → 以下リスト中の /set を全て /set1 に書き換える。 set2.cgiの設定 (3つ目の掲示板) → 以下リスト中の /set を全て /set2 に書き換える。
▼set.cgi の設定
| +--- cbbs | | jcode.pl | | cbbs.cgi | | srch.cgi | | set.cgi ←1つ目の掲示板の設定ファイル | | set1.cgi ←2つ目の掲示板の設定ファイル | | set2.cgi ←3つ目の掲示板の設定ファイル | | rank.dat | | | +--- set ←このディレクトリを新規作成(1つ目の掲示板) | | | cbbs.dat | | | cbbs.bak | | | ccount.dat | | | klog.log | | | ←ここに過去ログ・ロックファイルなどが自動生成される | | | | | | +--- set1 ←このディレクトリを新規作成(2つ目の掲示板) | | | cbbs.dat | | | cbbs.bak | | | ccount.dat | | | klog.log | | | ←ここに過去ログ・ロックファイルなどが自動生成される | | | | | | +--- set2 ←このディレクトリを新規作成(3つ目の掲示板) | | | cbbs.dat | | | cbbs.bak | | | ccount.dat | | | klog.log | | | ←ここに過去ログ・ロックファイルなどが自動生成される | | | | | | +--- file | | | i.gif all.gif arc.gif ...(共通アイコン) | | | ←ここにアップロードしたファイルが保存される。 | | | +--- icon | | | ktai_m.gif coara.gif coara_m.gif ...(共通顔アニアイコン) |
http://www.example.com/cbbs/cbbs.datこれでログが観覧(もしくはダウンロード)できてしまった方はセキュリティ上大変危険な状態であるわけです。
public_html | +--- cbbs | | jcode.pl | | cbbs.cgi | | srch.cgi | | set.cgi | | rank.dat | | index.html ←ディレクトリ内が丸見えにならぬようダミーのindex.htmlを置いておく[重要] | | | +--- 15Ug2ub6 ←このような複雑なディレクトリ名にする[重要] | | | cbbs.dat | | | cbbs.bak | | | ccount.dat | | | klog.log | | | .htaccess ←このディレクトリの中のファイルにアクセス制限をかける | | | |
ディレクトリにダミーの index.html を置く理由
一部ですがディレクトリの中が丸見えになってしまうサーバーがあります。(例→ さくらインターネットなど)
中が丸見えになってしまったらいくら複雑なディレクトリ名にしても意味がありませんので、このようなサーバーをお使いでしたら必ず上記場所にダミーの index.html (中味は空でよい)を置いてください。
「マルチ設定機能で複数の掲示板を作る。」では説明上 set,set1,set2 という安易なディレクトリ名を付けましたが、本来ですとこのような簡単なディレクトリ名ではなく大文字・小文字・英数字などを組み合わせて複雑なディレクトリ名にしなければなりません。
set → 15Ug2ub6
set1 → uZBx2j5j
set2 → HKu8DFdc
そしてディレクトリ名を変えたら以下のように set.cgi の中のディレクトリのパスも忘れず変えてください。
これを忘れるとChildTreeからログを読むことができなくなってしまいます。
▼ set.cgi パス変更例
$c_f = "./15Ug2ub6/ccount.dat"; # カウンタファイル
$cloc = "./15Ug2ub6/c.loc"; # カウンタロックファイル
$log = "./15Ug2ub6/cbbs.dat"; # 記録ファイル
$lockf= "./15Ug2ub6/cbbs.loc"; # ロックファイル
$bup_f= "./15Ug2ub6/cbbs.bak"; # バックアップファイル
$klog_c= "./15Ug2ub6/klog.log"; # 過去ログ数のカウントファイル
$klog_d= "./15Ug2ub6"; # 過去ログ生成ディレクトリ
これで外部からログを観覧できないようにできました。
しかしこれでもまだ100%安全とはいえません。何らかの方法でディレクトリ名がわかってしまったら中のログを観覧されてしまいます。
そこでサーバが .htaccess を使えるなら以下の方法も試してください。(XREA・ロリポップ・さくら…等)
.htaccess でアクセス制限する.htaccess を置くことでブラウザからログにアクセスできないようにできます。
<Files ~ "\.(dat|log|txt|bak)$">
deny from all
</Files>
上記 .htaccess をログが置いてあるディレクトリ内に配置してください。