無料(フリー)掲示板CGIプログラムとwebツール

HitBBS 初めに お約束 設置の基本 見本 DL&更新情報

※「お約束」に同意できない場合は使用する事が出来ません。

V2.1-詳細

この無料掲示板プログラムは、単一のスレッドの簡単な構造で設置も簡単なのが特徴です。 表示しきれないコメントは別ページに分かれて表示されます。 新しいコメントが上に行きます。

ページはCGI出力ページになっていて、文字コードはUTF-8になります。index.cgiがディレクトリアクセスで実行できるサーバの場合は、URLの「index.cgi」の文字を省く事が出来ます。

掲示板の出力部分、HTMLスキンやCSSスタイルシートをご自分で編集して、掲示板の外見を変更できます。
スキンはj-get.plファイルにあります。ヒアドキュメントで設定されています。

投稿フォームには、名前、e-mail、コメント、それに削除パスワード欄があります。パスワードは暗号化してサーバに保存されます。

時間でスタイルシートを変える事により、背景色(バックグラウンドカラー)が昼間と夜間で切り替わります。切り替わる時間は季節によっても違います。手動でも切り替えられます。

コメントが設定値の保持数より増えたら古いものから順番に削除されるので管理が簡単です。

ログが一投毎に分かれている為、サーバに優しい構造となっています。

サーバの必須条件
  • Encodeモジュール
主な機能
  • 昼夜で背景色の自動切り替え機能
  • 「只今、準備中です」表示と投稿の一時停止
  • コメントの無駄改行等の削除(簡易タイプ)
  • スパム規制
  • 投稿(コメント)最大保持数:約300程度以下に設定して下さい。

ファイル構成 - (転送モード)

ZIP ┐
    ├ v2 ┐
    │    ├ c-1.css ------- (アスキー)
    │    ├ c-2.css ------- (アスキー)
    │    ├ index.cgi ----- (アスキー)
    │    ├ i-stat.pl ----- (アスキー)
    │    ├ j-get.pl ------ (アスキー)
    │    ├ j-post.pl ----- (アスキー)
    │    ├ return-out.pl - (アスキー)
    │    ├ spam.pl ------- (アスキー)
    │    └ v2_data.pl ---- (アスキー)
    │
    ├ details.html -- (転送不要)
    └ readme.html --- (転送不要)

アップロード

設定が出来たら、設置の基本にある様にサーバにアップロードします。

プログラム実行に必要な権限

拡張子.cgiはCGIファイルです。実行・読み取り・書き込み、の権限が必要です。
拡張子.pl はPLファイルです。読み取り・書き込み、の権限が必要です。

CGIプログラムが獲得できる権限に合わせて下さい、サーバによって変わります。
例えば、ユーザー権限で動作する場合、PLファイルはその他グループで読み書き出来る権限は不要になります。

パーミッションについて

大抵はサーバの方で指定していると思うので、その値を使用して下さい。 もし指定が無いようでしたら次の値でお試し下さい。

CGIファイル 705又は755又は775
PLファイル 604又は644又は664
ログファイル 600又は660
ディレクトリ 755又は775
ログ専用ディレクトリ 700又は770
CSS、HTMLファイル等 604又は644又は664又は666

※問題が出なければ、数字の小さい方を採用して下さい。


V2.1-ファイル概要

index.cgi
掲示板の実行ファイル(本体)です。 webからアクセスすると投稿やフォームが表示されます。 エディタで編集する必要があります。
j-get.pl

アクセスした時に表示するページを作ります。 掲示板の外見を決めるスキンがあります。 エディタで編集して掲示板の外見を変更できます。

スキンの場所の目印として「#### インサートスキン ###」「### ページスキン ###」「### 単体コメントページスキン ###」などが付いています。

spam.pl
スパム規制用。 エディタで編集してスパムを登録します。
v2_data.pl
初期設定データ。 エディタで開き、設定を変更して下さい。
c-1.css, c-2.css
CSSスタイルシートです。 Windows のメモ帳でも編集が可能です。

V2.1-マニュアル

インストール・アンインストール

インストールはアップロードしてアクセスし、一度投稿するだけです。その後パーミッションを確認します。
使用しているモジュールは標準のモジュールなのでご自分で用意する必要はとくに無いはずです。

アンインストールはアップロードした物と、ログ専用ディレクトリ等不要な物を削除するだけです。

管理の仕方

平常時、ログが残るのでそれをたまに確認するだけです。

コメントの削除の仕方
ページの一番下にある削除フォームへ投稿番号を入力して、「削除します」をクリックします。
次に、表示されたフォームで管理用パスワードを入力して送信ボタンをクリックします。

手作業での投稿削除
ます、FTPアップロードソフトで、掲示板をアップロードしたディレクトリへアクセスします。
「v2_bbs」というディレクトリの中に投稿があります、そこに移動し、削除したいコメントの投稿番号が付いたテキストファイルを削除します。

コメント編集
上記の「投稿削除」でテキストファイルを削除しないで、ダウンロードして編集します。
テキストの内容は、改行無しで一直線に書かれていて、保存する時も改行しないで保存します。
各項目は、半角スペース二つで区切られています。これも変更しないで下さい。
com:(コメント)の部分を編集します、改行位置にはタブが入っています。

投稿の一時停止
top.cgiの有るディレクトリに「0」の名前のディレクトリを作成すると「只今、準備中です。」が表示されます。
FTPアップロードソフトを使って掲示板の管理や、プログラムの更新等をする場合に投稿をストップできます。

エラーについて

エラーが発生した場合はエラー画面が表示され、エラーの内容も表示されます。 最初に、致命的なエラーが表示される時は、大抵が設定や編集のミスです。

BBS_ERRORに関しては、ログディレクトリにログが残ります。

ログについて

投稿した時と、BBS_ERRORが発生した時にログが記録されます。

ログディレクトリのパーミッションが自動的に700にセットされ、ログファイルは600にセットされますが、もしも書き込めない時はi-stat.plを編集して変更する必要があります。

ログ内容

[Time]
日時; プロセスID; time関数値
[Host]
ホスト(IPアドレス)
[UA]
ユーザーエージェント
[Refer]
リファラ
[ENV]
複数の環境変数
[res_no]
投稿番号
[Cookie]
クッキー。他でセットされた(保存された)クッキーやサーバでセットされたものまで、ライアントから送られてきたもの全部記録します。
[set_cookie]
クッキー。サーバから(サイト側から)クライアントに送ったもの。
[SUB]
サブルーチン追跡ログ
[Error]
エラーの内容

※毎回すべての項目が記録される訳ではありません。

ディレクトリ構造(デフォルト値)

これはデフォルト値でセットアップした場合のディレクトリ構造です。

──┐
    ├ v2_bbs ┐ <-- (コメント用ディレクトリ)
    │        └ 投稿ファイル
    │
    ├ v2_log ┐ <-- (ログ専用ディレクトリ)
    │        └ 各種ログ
    │
    ├ v2_tmp ┐ <-- (一時フォルダ)
    │        └ 一時ファイル
    │
    ├ spam_log.cgi(スパム規制に引っかかったら作られるログ。)
    └ 「CGIスクリプト等」

注意

コメント保持数が約300までとなっています、強制的に制限していない為、数千でも数万でも設定できますが、やらないで下さい。


V2.1-設定値

初期の設定は見本と同じになっています、環境に合わせて変更して下さい。

文字コードはUTF-8ボム無しになっています。

index.cgi

#!/usr/bin/perl
perlの場所を示すもので、このCGIファイルはperlで処理しろと言う意味になります。
値はサーバに依存します、アップロードするサーバで指定されているので確認して下さい。
$set_data
初期設定ファイルの場所を設定します。
デフォルト値は、index.cgiと同じ場所にある事を示しています、v2_data.plを別のディレクトリに移動させた時は、それに合わせて変更します。
$adminPassword
管理人のコメント削除用のパスワードです。
デフォルト値で「xyz」になっています、この値は必ず変更して下さい。 変更しないと簡単にコメントを削除されます。 値はハイフン( - )とアンダーバー( _ )を含む半角英数字です。
$amgkey
削除用のパスワードの暗号化の為のキー(数字)です。
必ず変更して下さい。 範囲は、1から9999までです。
$amgmog
削除用のパスワードの暗号化の為のキー(文字)です。
デフォルト値で「ヒットBBS」になっています、必ず推測されにくいものに変更して下さい。 全角なら3文字~6文字ほどで、半角では6文字~18文字ほどで、シングルクォーテーション(')で囲んで設定して下さい。
キー(文字)を長くし過ぎない様にして下さい、暗号化に時間がかかるようになります。

掲示板の設置後に$amgkeyと$amgmogの設定を変更した場合、これまで保存されていた投稿削除用のパスワードは無効になり、投稿者が記事を削除出来なくなります。

j-get.pl

ヒアドキュメントになっています。

#### インサートスキン ###
14行目辺りにあります、投稿の部分(コメント)のスキンです。ページ上にこれがいくつも並びます。
「$ret = <<ECD;」より下から「ECD」より上までの間が変更できます。
  • $re
    投稿番号

  • $name
    投稿者の名前

  • $rtime
    投稿日時

  • $comment
    コメント

### ページスキン ###
38行目辺りにあります、ページ全体のスキンです。
「return <<ECD;」より下から「ECD」より上までの間が変更できます。
  • $plink
    今見ているページの番号

  • $maee , $usiro
    前後ページ移動アドレスのゲット値用

  • $inses
    投稿(コメント)一覧

  • $nlink
    ページリンク

  • $_->{bbs_titele}
    初期設定で設定された内容(掲示板名)

  • $_->{url_cgi}
    初期設定で設定された内容(CGIのURL)

  • $_->{name_cookie}
    クッキー値(名前)

  • $_->{mail_cookie}
    クッキー値(e-mail)

spam.pl

スパムやアクセス規制を登録するファイルです。登録部分は、ヒアドキュメントになっています。

  • $log_spam
    スパムのログファイルの場所を設定します。
    デフォルト値でcgiと同じディレクトリになっていて、spam_log.cgiと言う名前で保存されます。
    文字規制はエラーログに記録され、このログには記録されません。
    ログは、日付・リモートアドレス・規制内容、となっています。

IPアドレス規制
「### IPアドレス規制ここから ###」の行から「### ここまで ###」の行の間に挟みます。
既にいくつか入っていますが、こんな感じで一行に一つずつ入れると、投稿が制限されます。
「123.456.」このように減らして入れると、123.456.0.0~123.456.255.255まで規制されます。
※アドレス一塊の数字は255までしかありません。
クッキー規制
「### クッキー規制ここから ###」の行から「### ここまで ###」の行の間に一つずつ挟みます。
V2ではクライアントの投稿時のID、投稿者名、e-mailがクッキーに登録されます、v2_post-logログを見る事で確認できます。
リファラ規制
「### リファラ規制ここから ###」の行から「### ここまで ###」の行の間に一つずつ挟みます。
リファラスパムやリンクされたくないドメインなどを設定します。
UA(ユーザーエージェント)規制
「### UA規制ここから ###」の行から「### ここまで ###」の行の間に一つずつ挟みます。
UAの一部を設定すると、それが含まれるもの全てが規制されます。
検索ボット(クローラー又はスパイダー)を規制するのに便利です。
文字規制
「### 文字規制ここから ###」の行から「### ここまで ###」の行の間に一つずつ挟みます。
半角スペース及び全角スペースは指定できません。投稿されたくない語句を指定する事によって、荒らしやスパム投稿を防ぐのに有効です。

v2_data.pl

変更可能な部分は「# 初期設定 ここから」と書かれている行から「# 初期設定 ここまで」と書かれている行までの部分です。

クッキーのパッチ値(path=)
$_->{Cookie_pat}
クッキーのパッチ値です。 通常、掲示板を入れるURLのディレクトリ部分を設定するか何も設定しない(空文字)です。
作成ディレクトリ(最後に「/(スラッシュ)」を入れない)
$_->{dir_log}
ログが保存されるディレクトリを設定します。
デフォルト値ではcgiがあるディレクトリ内に作られます。 サーバ側で、非公開フォルダが用意されている場合はその場所を利用して下さい。
掲示板URL
$_->{url_cgi}
掲示板のアドレスを設定します。デフォルトで相対パスで設定されていますので、index.cgiが実行できる場合は特に変更する必要はありません。 実行出来ない場合は、index.cgiの文字を追加して下さい。

-----掲示板の設定-----

$_->{bbs_titele}
掲示板の名前を設定します。
$_->{s_maximgbyte}
アップロード容量MAX値、単位はバイトです。一回の投稿でアップロード可能なデータの最大値を設定。
この容量を超えた場合はエラーとなります。
$_->{s_maxcome}
コメント文字の許容量で、単位はバイトです。これを超えた場合はエラー画面が表示されます。
$_->{s_maxtnm}
コメント以外の文字の許容量です。
$_->{s_maxindex}
一度に表示されるコメントの数です。表示しきれないものは分割されます。
$_->{s_max_commae}
投稿(コメント)の保持数です。これを超えると古いもの(投稿番号が小さいもの)から順番に消えて行きます。

HitBBS 初めに お約束 設置の基本 見本 DL&更新情報


HitBBS (c)
 管理人:ひとちゃん