last updata : 1999/01/21

simplebbs.cgi (Perlスクリプト)

特 徴

基本機能のみを実装した本当にシンプルな掲示板です。

従来の掲示板と大きな違いは、表示スタイルに関する一切の設定が無い事です。 Perlの強力な文字列置換機能を使用して、利用者が作ったHTMLファイルを読み込み そのファイルに設定された変数やブロックを文字列置換して表示します。

  1. 設定項目が少ない。
  2. 表示スタイルに関する設定が無いのでCGIに設定する項目が少なくなっています。

  3. 掲示板を最初に使う時に、注意事項等の表示が可能
  4. クッキーを利用して一番最初に登録画面と掲示板の利用規定等の表示がきでます。

Ver1.8 更新 (1999/12/21)

ここから ダウンロード[simple18.lzh] ができます。

設定について

1行目 - Perlのパス設定

#!/usr/local/bin/perl

各プロバイダの設定に合わせて変更してください。

日本語コード変換ライブラリの設定

require './jcode.pl';

jcode.plを指定します。相対/絶対アドレスどちらでも大丈夫です。

変数設定

$joinhtml - 利用規定/登録 HTML

このファイルを読み込み、登録されていない時の利用規定/登録の表示をします。 相対/絶対アドレスどちらでも大丈夫です。

$viewhtml - 掲示板 HTML

このファイルを読み込み、掲示板の表示をします。 相対/絶対アドレスどちらでも大丈夫です。

$logfile - ログファイル

このファイルは、掲示板に書き込まれた記事を保存します。 相対/絶対アドレスどちらでも大丈夫です。

$tmpdir - テンポラリディレクトリ

一時的に、生成するファイルを入れるディレクトリです。 このディレクトリが無いとロックファイルが作れない為掲示板表示ができません。 このディレクトリのパーミッションは、0777を指定してください。

$password - パスワード

ブラウザ上から書き込まれた記事を削除する為の管理者パスワードです。 設定しない場合は、削除機能は使えません。6文字以上を設定してください。


難しい設定(通常変更する必要はありません。)

$script - スクリプト名

特に空白で問題ないと思います。但し環境変数が使用できない場合此処に記述します。

$max - 最大の書き込み数

通常50件にしています。 サーバーに負担が掛かるので大きくしすぎないでください。

$size - 記事の最大

一回の書き込みの文字数を設定します。通常2000byteにしています。 これもサーバーに負担が掛かるので大きくしすぎないでください。

$resmax - 返信の最大の書き込み数

通常20件にしています。 これもサーバーに負担が掛かるので大きくしすぎないでください。

$size - 返信の内容の最大

返信の書き込みの文字数を設定します。通常500byteにしています。 これもサーバーに負担が掛かるので大きくしすぎないでください。

$flk - ファイルロック機能

ファイルを同時書き込みを禁止する為に、排他的処理を行なう機能です。

0 で機能を使わない。 1 で機能を使う設定になります。

$ref - 他ページからの書き込み

サーバー制限機能です。通常は変更しないでください。

$rwt - 連続書き込み禁止時間

間違って連続書き込みをするのを防ぎます。 悪戯等で連続して書かれてしまう場合、大きくするのも良いです。

$method - フォーム送信リクエスト

通常はPOSTです。使えない場合GETにしてください。

$CookieName - クッキーネーム

特に変更する必要はないと思います。

HTMLファイルについて

このcgiのスタイルを決める重要な要素です。 ダウンロードファイルに入っているサンプルは、分かりやすいように最低限のタグしか書いていません。 市販のHTMLエディタ等での加工も容易だと思われます。 フォームの使い方が判る人ならフォームの自動生成機能は使わなくてもcgiを動作させる事も可能です。 一度動作させてhtmlのソースを取得して変更した方がよいでしょう。

join.html

最初に利用する時や一ヶ月以上利用が無かった時に表示させるhtmlファイルです。 利用規定と登録フォームを記載します。

登録フォームを自動生成

下記のコメント文を書いた部分に登録フォームが生成されます。

<!-- touroku form -->

また、登録の削除のボタンを付ける時は、下記のコメント文を書きます。

<!-- shoukyo form -->

view.html

掲示板の表示する為のhtmlファイルです。 フォームの自動生成と複数の変数とブロックがあります。

書き込みフォームの自動生成

下記のコメント文を書いた部分に書き込みフォームが生成されます。

<!-- kakikomi form -->

管理者フォームの自動生成

下記のコメント文を書いた部分にパスワード入力と管理者用ボタンが生成されます。

<!-- kanrisya -->

返信用フォームの自動生成

下記のコメント文を書いた部分に返信用書き込みフォームが生成されます。 但し掲示板ブロック内に記入する必要があります。

<!-- response form -->

変 数

変数は、使うブロック内で多少意味が変わります。

変数名通常掲示板ブロック返信ブロック
$name登録者の名前書き込んだ人の名前
(メールリンクあり)
書き込んだ人の名前
$mail登録者のメールアドレス -- --
$home登録者のホームページアドレス書き込んだ人のHP
(HPとしてリンク)
--
$host--書き込んだ人のホストネーム書き込んだ人のホストネーム
$subject--書き込まれた題名--
$comment--書き込まれた内容書き込まれた内容
$date--書き込まれた日付
(例 1999/12/1)
書き込まれた日付
$time--書き込まれた時間
(例 10:10)
書き込まれた時間
$num--掲示板番号
(通常使用しません)
--
       
掲示板ブロックの生成

下記の二つのコメント文挟まれた部分を一つの書き込み表示部分として繰り返し表示します。
<!-- Show Comment -->
      :
<!-- End Show Comment -->

必ず繰り返しになるのでブロックとして独立している必要があります。

返信ブロックの生成

下記の二つのコメント文挟まれた部分を一つの書き込み表示部分として繰り返し表示します。
<!-- Res Comment -->
      :
<!-- End Res Comment -->

このブロックは、必ず掲示板ブロック内にある事が条件です。

例.

<HTML>
<HEAD>
   :
</HEAD>
<BODY>
   :
<!-- Show Comment -->
   :
<!-- Res Comment -->
   :
<!-- End Res Comment -->
<!-- response form -->
<!-- End Show Comment -->
   :
</BODY>
<HTML>

一度掲示板のイメージを作ってから、これらのコメント文や変数を埋め込むと上手く行きやすいようです。

設置について

基本構成
/public_html/                パーミッション
    |- /cgi-bin/
          |- simplebbs.cgi      <755> 本スクリプト
          |- join.html          <644> 登録時の表示元HTMLファイル
          |- view.html          <644> 掲示板用の表示元HTMLファイル
          |- jcode.pl           <644> 日本語コード変換ライブラリ
          |- /data/            	<755>
          |    |- bbslog.cgi    <666> ログファイル
          |- /tmp/              <777>

dataディレクトリとtmpディレクトリを作ります。(パーミッションが違うので気をつけてください。) tmpディレクトリは、ロックファイルを作りますので必要です。

その他

$comment変数について

この変数は、書き込み内容を表示します。但し一部加工されます。 改行コードを見つけるとBRタグを付加します。

$num変数について

掲示板番号です。これは返信機能で使用します。

半角カナについて

一応全角カナに変換します。表示に問題でないように配慮しているつもりです。