|
◇ツリー式掲示板◇
K - B o a r d V e r 0 . 1 0
【はじめに】
・このスクリプトは個人使用に限りフリーウェアとしますが、著作権は放棄して
いません。法人、営利目的で使用する場合は有料になりますのでご連絡ください。
・有償/無償、改造/非改造に関わらず、このスクリプトを許可なく転載、掲載、配布
することを禁止いたします。
・スクリプトをご利用されているプロバイダのサーバーに設置する際には、CGIの
使用が許可されている事と、Perlがご利用出来る必要があります。
・スクリプトの性質上、全ての環境での動作を保証することは出来ません。
また、スクリプトを使用しての損害、障害等いかなる不都合が生じましても、
私は一切の責任を負いかねますので予めご了承ください。
・私に著しく不利益がある場合には一方的に私がスクリプトの使用中止を求める事
が出来るものとします。
【説明】
・一部JavaScriptを使用していますので、ブラウザをJava-ONにしてお使い下さい。
JavaScriptの機能が利用出来ないバージョンのブラウザでは正常動作しません。
・記事一覧では投稿されている記事の時間・投稿者・題名を見ることができます。
各記事はツリー構造となって表示されます。(既に投稿されている記事に対する
Resを投稿したとき1段づつ下がって表示する)
題名をクリックしたとき、その記事内容へジャンプします。
Resをクリックしたとき、その記事に対するResを投稿できます。
Topをクリックしたときは、記事一覧の最上部へジャンプします。
・アイコンは通常ノートの形になっていますが、掲示板利用者がクッキーを食べた
場合利用者が再アクセスするまでの間に投稿された記事が新しい記事として New
アイコンに変わります。(利用者自身が投稿しても New になる)
クッキーの中にアクセス時刻情報が含まれているため、一度クッキーを食べると
アクセスの度にクッキーが再送されます。
・記事内容の表示では各投稿記事の内容を見ることができます。
Res, Top は記事一覧のときと同じような意味です。 New は「新規投稿」ボタンと
同じで、新しい記事を投稿するときクリックします
なお、投稿者がメールアドレスとHPアドレスを入力していた場合、それぞれが
アイコンで表示されます。
・新規投稿する場合、記事の投稿画面へ切り替わります。
名前・題名の入力は必須項目ですが、メールとHPは省略可能です。
各入力項目は、記事内容を含めて文字数制限があります。(setup.cgiで変更可能)
また「設定をブラウザに記憶させる」をチェックしていたときは、記事投稿時に
投稿者宛てにクッキーが送信されます。
・Resを投稿する場合も新規投稿と同じ記事の投稿画面へ切り替わります。
ただし、題名の頭に 'Re:'が付加され Resであることを明確にし さらに記事内容
の各行頭へ引用記号 '>'が付加されます。
・タグは FONT、ADDRESS、BIG、SMALL、SUP、SUB、B、I、S、U のみ使用可能です。
(使用可能タグのみ検索し変換していますのでメンテナンスフリーだと思います)
Aタグは使用出来ないのですが、'http://'で始まるURLが書き込まれた場合
<A HREF="URL" TARGET="_blank"> へ自動変換しますので使って見てください。
・自分のホームページ以外からこの掲示板を直接起動してイタズラ書き込みが
できない様にすることができます。「setup.cgi」の $write_ngを変更してください
(環境変数 HTTP_REFERERが取得できない時は機能しません)
・改行を多数入力した記事が、イタズラ目的で投稿されるのを防止するため
必要以上の改行は自動的に削除します。
また、同じ方の短い時間間隔での連続投稿もイタズラ防止のため禁止しています。
この監視時間は「setup.cgi」の $news_timerで設定します。
さらに、記事の中で行末が、スペース+改行で終わっている所がある場合も
イタズラ防止のため投稿を禁止しています。
・プロクシ経由でこの掲示板にアクセスできない様にすることができます。
イタズラ書き込み等が匿名プロクシで行われている場合などにアクセス禁止設定に
して見てください。(まだまだ不完全ですので不具合があるかもしれません)
・ログファイルとユーザーファイルが2人以上の人から同時に更新されないように
ファイルに書き込む際、排他制御をしていますがCGIを実行するサーバーに
よっては機能が利用できずエラーが発生する場合があります。
この時は「sub.cgi」ファイル内の排他制御場所をコメントにしてください。
・管理者モードへ移るためには「setup.cgi」内の $pass_p1で指定したパスワード1
を記事一覧のパスワードの部分へ入力して「管理者」ボタンを押します。
管理者モードになったら、記事の投稿禁止・許可、記事の削除、アクセス制限を
行う事が出来ます。パスワードの部分へは $pass_p2で指定したパスワード2を
入力してください。(終了時は「終了」ボタンを押してください)
【注意点】
・管理者モードを起動している間は自動的に記事の投稿が一時禁止されます。
この一時禁止を解除するために終了時には必ず「終了」ボタンを押してください。
・記事一覧には「setup.cgi」に設定されている「記事ファイル保存の最大件数」の
件数分表示されるので記事内容の表示件数を「全部」にしないとジャンプしない
場合があります。
・新しい記事をアイコンで表示するため、アクセスの度にクッキーが再送されるので
クッキーが嫌いな人には嫌がられるかも?
・同じ種類のタグが入れ子状態で入力された場合正しく表示されないバグが
ありますのでご了承ください。
(例)<FONT SIZE=5><FONT COLOR="#800000" >こんなタグです</FONT></FONT>
---------------------------------------------------------------------
インストール方法
---------------------------------------------------------------------
【ファイル内容】
・解凍すると下記のファイルが出来ます。
setup.cgi ...環境設定ファイル
sub.cgi ...共通サブルーチンファイル
top.cgi ...フレーム設定cgi
tree.cgi ...記事一覧cgi
news.cgi ...投稿記事表示cgi
mang.cgi ...管理用cgi
jcode.pl ...日本語コード変換ライブラリ
kboard.log ...ログファイル
kboard.usr ...ユーザーファイル(投稿禁止・許可フラグ付き)
kboard.dat ...アクセス制限ホスト名ファイル
alog_ok.txt...アクセス出来た方のアクセスログファイル
alog_ng.txt...アクセス出来なかった方のアクセスログファイル
gif ...アイコン&背景イメージのディレクトリー
お願い.html...バージョンアップする際のお願い内容
・各CGIの1行目にあるPerlディレクトリー指定「/usr/local/bin/perl」を
ご利用されているプロバイダからの指定に合わせてください。
・環境設定ファイル「setup.cgi」の内容をそれぞれの環境に合わせてエディタ等で
変更してください。
$home_url と $cgi_path 部分は、必ず変更が必要です。これ以外は動作確認が
終わってから変更されることをおすすめします。
【ファイル転送】
・FTPで各ファイルを以下のモードで転送してください
setup.cgi ...アスキーモード(テキストモード)
sub.cgi ...アスキーモード(テキストモード)
top.cgi ...アスキーモード(テキストモード)
tree.cgi ...アスキーモード(テキストモード)
news.cgi ...アスキーモード(テキストモード)
mang.cgi ...アスキーモード(テキストモード)
jcode.pl ...アスキーモード(テキストモード)
kboard.log ...バイナリーモード
kboard.usr ...バイナリーモード
kboard.dat ...バイナリーモード
alog_ok.txt...バイナリーモード
alog_ng.txt...バイナリーモード
gif ...バイナリーモード
それぞれのファイルを、CGIの実行できる同じディレクトリー内に置いて下さい。
【パーミッション】
・各々のファイルのパーミッションを下記の通り変更してください。
% chmod 644 setup.cgi sub.cgi jcode.pl
% chmod 755 top.cgi tree.cgi news.cgi mang.cgi
% chmod 666 kboard.log kboard.usr kboard.dat alog_ok.txt alog_ng.txt
上記はTELNETでの入力コマンドですがFTPソフトの場合、
FTPコマンド(サーバーへのコマンド)の QUOTE を選択して
SITE CHMOD [パーミッション] [ファイル名]
と入力して実行してください
【起動】
・掲示板を起動するために「top.cgi」へリンクを作成してください。
<A HREF="http://www.xxx.yyy/~zzz/kboard/top.cgi">掲示板</A>
---------------------------------------------------------------------
バージョン履歴
---------------------------------------------------------------------
●K-Board ver0.10 [1999.02.01]
・管理者モードの修正
・プロクシ経由の設定追加(アクセスログの保存)
・アクセス制限ホスト名保存フォーマット変更
・JavaScript無効表示の追加
・back.gifサイズ縮小
・戻り処理修正
・CGI PATHの追加
・バグ修正
●K-Board ver0.07
・URLの変更
●K-Board ver0.06
・タグ変換処理の修正(まだ完全でないです)
・ファイル構成の変更
●K-Board ver0.05
・JavaScript修正(IEとNNの違いで)
●K-Board ver0.04
・管理者モードの作成
・自分のホスト以外からの直接書き込みを禁止(イタズラ防止)
・記事の2重投稿を禁止(間違い&イタズラ防止)
●K-Board ver0.03
・クッキー機能の追加
●K-Board ver0.02
・記事一覧ツリーのバグ修正(まだおかしいかも?)
●K-Board ver0.01
・初期バージョン
|