■「Anthologys」豆知識(管理者向け)
|
− ディレクトリについて − |
※「Anthologys」の標準の設定では、CGIと同じ階層に「log」と「res」および「lock」ディレクトリがあるはずです。
(こちらの改造CGIでは「cnt」および「del」ディレクトリも同じ場所にあるよう設定しています)
| 「log」 |
作品記事のログファイルを保存するディレクトリ |
| 「res」 |
感想記事のログファイルを保存するディレクトリ |
| 「lock」 |
ロックファイルをつくるディレクトリ |
| 「cnt」 |
閲覧数のログファイルを保存するディレクトリ |
| 「del」 |
作品の削除記録のログファイルを保存するディレクトリ |
ここで、ログファイルを保存するディレクトリについて説明します。
ログファイルは、それぞれのディレクトリに「.txt」の形式で保存されます。
実はこれらは、パーミッションが「読み込み可」に設定されたまま生成されるので、ファイルアドレスを入力されると管理者以外の人でも簡単に覗けてしまいます。
(※もちろん、ログファイルのパーミッションを手動で「読み込み不可」に設定すれば回避できます。
ただしXServerやXREAなどの「600」のパーミッションで作動するサーバに限ります)
他の人に見られても大して困ることはありませんが、セキュリティの問題からしても、やはりログファイルは他人には見られないようにしておいた方が安全です。
対処法としては、「log」,「res」,「cnt」,「del」ディレクトリの名前を変更することが望ましいです。
ディレクトリ名を変更されると、ログファイルのあるアドレスは極端に予想されにくくなるからです。
(これは他のCGIにおいても同様のことが言えます)
「log」を「sakuhin」,「res」を「kansou」などにするだけでも充分でしょう。
ただしディレクトリ名を変更する際は、CGIスクリプト内のディレクトリ指定の変更を忘れないこと。
|
|
− 感想ログについて − |
※「res」ディレクトリには感想記事のログが、「20060101010101.txt」のようなテキスト形式で保存されています。
これらのファイルを編集する際、「Anthologys」のv2.4以降を使っている人は要注意です。
詳しい説明は省きますが、これらのファイルを更新してしまうと、感想ログが破損してしまう可能性があるからです。
破損してしまうと、作品の感想欄がめちゃくちゃになってもう見れたものではなくなってしまいます。
単にダウンロードして、再びアップロードしただけでも更新したと見なされ同様の事態になるので絶対にしないでください。
v2.4以降を使っている人でこのエラーを修正するには、
$FORM{'come_r'} =~ s/\r/<br>/g ;
という記述をサブルーチン「regist2」の先頭付近、大体CGIスクリプトの1170行目辺りに書けばOKです。
(こちらの改造CGIではこのエラーは修正済みなので、そちらと差し替えても同じく修正されます)
ただし、それまでに書かれた感想記事に修正は効かないので、古い感想記事は極力いじらないようにしてください。
ただサイト移転時だけはどうしてもファイルの更新は避けられません。
よってv2.4以降の「Anthologys」を使っている人でCGIごと移転する場合は、感想ログの破損は避けられないでしょう。
移転前にHTML形式でページごと感想を、作品ごとに一つずつ保存してしまうのも一つの手です。
(※このエラーの対策として、破損ログ修復プログラムを配布しました。詳しくは次項参照)
|
|
− 破損ログについて − |
※前項のケースで破損した感想ログは、CGIが改行コードをレス数として誤認してしまうことから起こる現象です。
実は、「入力通り」モードで投稿した作品を含むログも、改行をタグに置き換えていないため同様の事態に遭遇します。
いずれもログファイルの更新さえしなければ最悪の事態は回避できますが、
何かの間違いで一度ログが破損してしまうと、残念ながら何度更新し直しても元には戻りません。
そうなれば泣く泣くログを諦める羽目になりますが、ログファイル自体は消失したわけではないので、上手くいじれば復活できます。
破損の原因は前述のとおりだから、実は改行コードを上手く<br>タグに変換できれば、ログを通常通りに復元できることになります。
よってそれらの動作を自動化したプログラムを作成してみました。↓下記参照。
▼破損したログは、こちらの修復プログラムを使うことで高確率で復活できます。
作品ログ修復プログラム : 「Anthologys LogFile Fixer」
感想ログ修復プログラム : 「Anthologys ResFile Fixer」
このプログラムの使い方は以下の通りです。
■拡張子を「.cgi」に変更
■プログラムを開いてログディレクトリやログファイルのパスを指定
(※感想ログ修復の場合は、指定ディレクトリ下のレスファイル全てを対象とします)
■「Anthologys」を設置しているディレクトリにアップロード
■パーミッションを「呼び出し可」(「705」など)に変更してブラウザでCGIにアクセス
以上です。「正常終了」と表示されれば、修復作業は完了です。
あとは「Anthologys」で通常通りログを閲覧できれば成功です。これで一安心です。
(※注意)
これはあくまで標準の「Anthologys」の設定で生成されたログに対するプログラムです。
ログの書き込み部分という奥深い箇所まで改造を施しているCGIでは、正常に修繕されない可能性があります。
また、この修復作業を行う場合は必ずログのバックアップを取っておいてください。
ログを直接いじるわけですから、ログが破壊される可能性も否定できません。
(※対象となる「Anthologys」を設置しているディレクトリをまるごとバックアップしておくと良いでしょう。
できれば、実際に設置しているディレクトリとは別にもう一つCGIディレクトリのコピーを設置し、そちらで行うと安全です)
|
|