あじのたたき板 Evo(仮名)りーどみー

ver.0.32 Monday, June 30, 2003
はじめに

ぇぇと…最初からアレなんですが、これでおしまいです。
当然、今後のサポートやバージョンアップはありません。
まぁ、ささやかな置き土産ってやつです(笑

謝辞

チェックコードの考え方は Force264 BBS、、ひみこーどはひみこさん作の XBM版 himicode.cgi、ひみこーどの無圧縮 gif 化は piko さんにいただいた サンプル、file uploader およびリンクのリファ消しは(ta)さんの r_board、 skin化は技術評論社のCGI & Perl ポケットリファレンスからパクらせていただ きました。
感謝の意を表して各位のお名前をクレジットに掲載させていただきたいとは思 いましたが、スクリプトをまとめた本人でさえ責任の持てない物に勝手に掲載 するのはあまりに失礼かと思われましたので、このような形となりましたこと をご了承願うとともに、深く深く感謝を申し上げます。

このスクリプトについて

新規の方もいないでしょうから、機能紹介は省略します。

免責等について
使用・改造・再配布は、ご自身の責任でどうぞ。
この責任の中には、以下が含まれます。

で、bbs.cgiの著作権表示もご自由に。
消えるモンにリンク張っても意味無いっす(笑

注意事項

このアーカイブに含まれる himicode.cgi は、この掲示板とセットでのみ 動作します。従来のひみこーどとファイル名が同じでも動作が異なり互換性が ありません。また、単体で起動してもエラーになり画像を表示できない仕様に なっております。

リファ消しのリンクを利用する場合、リファを吐かない環境からはリンクが 利用できなくしてあります。リファチェックしないと他所からリファ消し用の ジャンプ台にされる危険がありますので、そーゆー仕様にしておきました。
リファのチェックを外すのは簡単なので、どうしてもイヤなら改造してくだ さい。

.htaccess を利用する場合、upload(投稿)されたファイルへアクセスする際、 リファが掲示板のアドレスで無いとアクセスに失敗するようになります。確 かに直リン対策としては有効ですが、ブックマークから直接とか、リファを 吐かない環境からのアクセスとかの場合、ファイルにアクセスできなくなり ます。それが煩わしい場合は、.htaccess を使用しなければ良いです。

設置手順

まず、bbs.cgiとhimicode.cgiの設定をする必要があります。
そのためには、ファイル名やディレクトリ名の構成を決め、それと矛盾の 無い様に設定をしなければなりません。

標準的なファイルの配置は以下の様になります。
./cgi-bin/bbs/(701)
   ├─── index.html(604)#堀り防止(笑
   ├─── bbs.cgi(700)#このスクリプト
   ├─── himicode.cgi(700)#ひみこーどのスクリプト
   ├─── skin.html(600)#通常表示用のスキン
   ├─── mskin.html(600)#メッセージ表示用のスキン
   ├─── number.dat(600)#記事番号と削除パス記録ファイル
   ├─── hlog.dat(600)#チェックコード記録ファイル
   ├─── bbs.dat(600)#記事記録ファイル
   ├─── del.dat(600)#削除記事記録ファイル
   ├─── alog.dat(600)#アクセスログ
   ├─── count.dat(600)#投稿件数のカウント記録
   ├─── thread.datスレッド最終作成時刻確認ファイル
   ├─── comic.pl(600)#himicode.cgiのフォントデータ
   ├─── gothic.pl(600)#himicode.cgiのフォントデータ
   ├─── kanji.pl(600)#himicode.cgiのフォントデータ
   ├─── maru.pl(600)#himicode.cgiのフォントデータ
   ├─── normal.pl(600)#himicode.cgiのフォントデータ
   ├─── reverse.pl(600)#himicode.cgiのフォントデータ
   ├─── rome.pl(600)#himicode.cgiのフォントデータ
   ├─── seven.pl(600)#himicode.cgiのフォントデータ
   ├up(701)   #upload file 収納ディレクトリ
   │├── index.html(604)#堀り防止(笑
   |└── htaccess.txt(600)#uploadしてから .htaccess に名前変更
   ├kako(701)   #過去ログ 収納ディレクトリ
   │└── index.html(604)過去ログインデックス
   ├temp(701)   #記事仮登録ディレクトリ
   ├─── jcode.pl(600)#jcode.pl
   └─── cgi-lib.pl(600)#cgi-lib.pl

  1. アーカイブのファイル名をそのまま使用していますが、拡張子が dat のファイルは 必ず名前を変更してください。
  2. カッコ内数字はパーミッションの例です。必要に応じて甘くしなければなりませんが、ブラウザでファイルの内容が覗けるほど甘くしなければ動かないサーバーでは荒らし対策効果はありません。他のサーバを探しましょう。
  3. xreaで使う場合、himicode.cgi の拡張子を xcg にして広告の自動挿入を無効にしないと画像が表示できないようです。また、up ディレクトリも広告の挿入されない x ディレクトリ下に置かないと、ファイルを正常に開くことができなくなるようです。
  4. .htaccess を使用する場合は、htaccess.txt の一行目を利用する環境に合わせて編集してください。なお、.htaccess はサーバによっては利用できないかもしれません。 利用できない場合の弊害は、upload(投稿)されたファイルが、他所から直接リンクできてしまう点です。多少はいいやって場合は特に必要ないかもです。

管理者パスワード以外の項目が設定できたらひとまず設定完了です。
管理パスワード受信間の投稿件数制限を行う場合は、予想される投稿数に対してかなり多めに設定するようにしてください。そうじゃないと、ちょっと盛り上がった途端に件数制限で投稿ができなくなり、せっかくの訪問者の方に去られることになっても私は知りません(笑

仮設置して動かします。
(できればローカルでやりましょう。つーかローカルでやれ(命令)でも設置する サーバがローカルと違う暗号化をする場合はローカルでやっても駄目かも知れん。)

仮設置した板に、管理者専用/ゲスト使用禁止ハンドル以外のハンドル名で 適当にスレッドをたてます。(パスワードはあってもなくてもOK)
たてたスレッドに、上記と同様のハンドルで、管理パスに使いたいパスワードを入力 して、レスを投稿します。

記事番号と削除パス記録ファイルの内容を見ると、下記のような感じになっているはず です。これを , を区切りとして分けた真ん中の文字列(下記の例では kjapBFwqol70. ) が暗号化されたパスワードです。
000001,,20020418000000
000002,kjapBFwqol70.,20020418000344
    ↑これ    

これを bbs.cgi の管理者パスワードの項目のところにコピーペーストして管理 パスワードを設定し、記事番号と削除パス記録ファイルと記事記録ファイルの内容 を削除します。

以上で機能上の設定は完了です。

次に、skin をご自身の好みでデザインしてください。単純に色の指定だけを 書き換えるのも良し、フォームのレイアウトなどを書き換えるも良し、ページ やテーブルの背景を画像に変更するのも良し、とにかくご自由にどうぞ。

このスクリプトでは、skinの中の<!--start_honyarara-->から <!--finish_honyarara-->までをひとつのブロックとして扱います。
ですから、このhonyararaの部分の対応が合っていなかったり、ネストしていたり しますと正常に表示されませんし、ブロックの外側に書かれた内容はスクリプトの 動作時に出力されませんので、skinの編集時には注意してください。
なお、skinの中でブロックの順序を変更しても動作時の表示順序は変わりません。
(変更するにはbbs.cgiの改造が必要です。)

また、__%%honyarara%%__ の様な __%% %%__の付いている文字列は、スクリプトが 置換します。
これにつきましても、honyararaの部分がスクリプト内の置換文字列と対応しなければ 表示されなくなりますので、skinの編集時には注意してください。
参考までに、__%%aaa%%__は、スクリプト内の連想配列$skin{'aaa'}に置換されて表示さ れます。

主なものは下記の通り
__%%title%%__ 掲示板タイトル
__%%visitorIP%%__ 閲覧者のIP
__%%visitorHOST%%__ 閲覧者のホスト
__%%visitorUA%%__ 閲覧者のUA
__%%comment%%__ 掲示板コメント
__%%bbs%%__ 掲示板スクリプトのアドレス
__%%credit%%__ クレジット表示
それ以外も調べたい人はスクリプトの中の$skin{'〜〜〜'}を探してください。

ちなみに投稿記事には__%% %%__を書いても無効です。

さて、後はuploadして、パーミッションを設定し、動かすのみです。
.htaccess を利用する場合は、htaccess.txt をuploadファイルの収納先の ディレクトリにuploadして、.htaccess に名前を変えてパーミッションの設 定をします。

操作方法など

管理者としての日常のお手入れ記録ファイルを編集する前にはバックアップ

記事修正やログなどの閲覧

FTPクライアントを使って、ファイルをダウンロードしてテキストエディタで 閲覧や編集をします。編集をしたファイルはFTPクライアントでアップロードします。
記録ファイルの編集時には、変なところに改行やタグを入れちゃいけません。
また、この作業をしている間に誰かが記事を投稿していると、編集済みの記事記録を アップロードした時点でその記事が消えてしまうことになりますので注意しましょう。 編集する際は、一時的にスクリプトのパーミッションを600とかに落として置くとか、 投稿件数制限をしているなら、カウント記録ファイルに制限を越える数字を保存して おいて、一時的に(元に戻すか投稿するかしてクリアするのを忘れずに)アップしてお くのも良いです。
あ、そうそう、FTPクライアントを使って接続したら、削除記事記録ファイルの容量 なんかのチェックもしておくと良いです。ファイルがある程度の容量になったら、内容 を確認し問題が無ければ、空のファイルを上書きアップロードしてクリアするのが、手 間いらずかもしれません。

管理パス受信(管理者のアクセス)間の投稿数制限

管理パス受信(管理者のアクセス)間の投稿数制限を設定していますと、制限が発動 した時にすべての投稿欄が表示されなくなるはずです。そんな時は、慌てず騒がず、 一番下の削除メニューから削除パスを送信します。削除発言番号が空のままでは受付け されませんから、000とか存在しない発言番号を入力しておくと良いです。


掲示板の操作

簡易記事検索

掲示板の一番下に検索語の入力欄と送信ボタンがあります。このフォームから何か 文字列を入れて送信すると、記事記録ファイルの中からその文字列を含むスレッドが リストされます。
具体的にどの発言に含まれているのかは、スレッドを表示してブラウザで検索してく ださい。

記事削除

記事の削除は、削除フォームに記事番号(記事の最後に<!--Message No.nnnnnn--> の様に表示される数字)を指定して、パスワードと一緒に送信すれば記事を削除することが できます。
記事番号の指定には、1-30(1番から30番まで全て)とか、1,30(1番と30番)とか1-20,30 (1番から20番までと30)などの様に複数の記事を一度に指定することもできます。ただし、 - で繋ぐ数字は1ページに表示する記事の件数以内であること、そしてこれらの指定の 文字数が @tgtlenで指定された文字数以内であることが必要です。(1-99999999999999999 なんて入力されると困るし(笑 )
ただし、スレッドの先頭の記事は管理者による管理パスを使った操作でなければ削除で きません。


以上です。お疲れ様でしたm(__)m