メッセージボード4 nerimb4.cgi

トップへ English Page

機能
    超多機能メッセージボード
  • メッセージボード3の後継バージョン
  • 画像アップ機能(使用不可にも設定可能)
  • ディスクの許す限り全ての過去ログ保存可能
  • 200件以前の記事自動削除設定可
  • 返信機能付き
  • 未読分のみ表示機能
  • 高速記事検索機能
  • タイトル表示機能
  • 投稿画像のサムネイルリスト表示機能
  • 画像以外のファイルがアップされた場合は添付ファイルとして表示(アイコン設定可)
  • アップロード禁止拡張子指定可
  • 携帯用簡易表示機能
  • 書き込み統計機能
  • 投稿画像を含む記事アーカイブ・ダウンロード機能
  • 記事削除機能
  • 記事変更機能
  • 記事中のhttp://の自動リンク機能
  • 記事中の(#1234)など(#xxxx)でメッセージナンバーへの自動リンク
  • 記事中のリンクのみ表示機能
  • 特定記事のみ指定表示機能
  • スタイルシート設定機能
  • <HEAD>内文字列埋め込み機能
  • 簡単セットアップ
  • SSIモードでのプレビュー表示
  • プレビューモードでの表示件数、表示行数設定可
  • プレビューモードでの画像表示選択可
  • スクリプト名をmbssi.cgiにするとSSIモードで起動
  • スクリプト名をmbiread.cgiにすると携帯モードで起動
  • メンバー専用投稿パスワード機能
  • タグ使用選択可
  • 各記事の名前、タイトル、本文の色の個人設定(選択可)
  • 記事中のリンクのクリーンアップ
  • 統計で使うバーのgifファイルを自動生成
  • 単一スクリプトにより簡単設置
  • CAPTCHAによりスパム書き込み防止機能が強化されたメッセージボード5もあります。
  • 超多機能スレッド式掲示板としてディスカッションがあります。
  • メッセージを一行ずつ書き込む一行掲示板もあります。
  • CGIではありませんが もあります。
nerimb3.cgiからの変更点
    見た目と動作はnerimb3.cgiとほとんど同じです。コードを書き直して効率を上げました。
    その他、nerimb3.cgiでは別スクリプトだったユーティリティを統合。記事中のリンクのクリーンアップ、統計で使うbar.gifを自動生成を追加。Unixのコマンドを使わないように変更。cgi-lib.plを削除。version 1.0コンパチモードを削除。
    アーカイブモードで画像も同時にzipに含むように変更。アーカイブファイルの自動削除。
    その他多数のマイナーチェンジ。
    コードの効率や今後のサポートやバージョンアップなどを考えるとこちらを使う事をお勧めします。スクリプトファイルも一つだけで設置も簡単です。
    機能追加も行われています。
設置方法
  1. サーバーにPerlのPackage, GD, LWP::UserAgent, Archive::Zipがインストールされている必要があります。
  2. 書き込み可能でCGI実行可能なディレクトリにnerimb4.cgiを置く。
  3. nerimb4.cgiの1行目のperlのパスをプロバイダに従って変更する。
  4. nerimb4.cgiのパーミッションを適切に変更する。
  5. ブラウザ上でnerimb4.cgiを実行する。
  6. 管理人パスワードを聞いてくるので設定する。
  7. セットアップをクリックし、セットアップ画面でそれぞれ適切に変更し「設定」をクリックする。
    この内容がmb4setup.plに保存される。
    この画面はnerimb4.cgi?mode=setupでいつでも呼び出せる。
  8. その後はnerimb4.cgiを実行するだけでメッセージボードとして機能する。
バージョンアップ方法
    新しいCGIの一行目のPerlのパスを変更して置き換えるだけです。今まで使っていた設定はそのまま継承されます。nerimb3.cgiの設定を継承するにはmbsetup.plをmb4setup.plと変更するとできます。データファイルはnerimb3.cgiとコンパチブルですのでそのまま使えます。
SSIプレビューモード
    次のようにSSIとして埋め込むのことによって最新メッセージの最初のline行をを表示することができます。
    例:<!--#include virtual="nerimb4.cgi?mode=ssi&line=10" -->
    この表記で最新メッセージの最初の10行が表示されます。
    サイトのトップページ上でのプレビュー表示として使えます。
    SSIモードサンプル

    また、スクリプトをmbssi.cgiという名前で保存(又はシンボリックリンク)して実行すると自動的にSSIモードで起動します。
    SSIのincludeが使えないサーバー等ではexecで使う事ができます。mbssi.cgiにした場合でもnerimb4.cgiのファイルは必要です。
    例:<!--#exec cgi="mbssi.cgi" -->

携帯用簡易表示機能
    次のURLでアクセスすることで携帯用として最小限の表示だけをします。
    例:nerimb4.cgi?mode=iread
    携帯モードサンプル

    また、スクリプトをmbiread.cgiで保存(又はシンボリックリンク)して実行すると自動的に携帯モードで起動します。
    スクリプト名が短くなるのでURLの入力がしやすくなります。mbiread.cgiにした場合でもnerimb4.cgiのファイルは必要です。
    例:mbiread.cgi

特殊な使い方
    次のように<a href>などで直接リンクすることで特定のメッセージを表示させることができます。
  • nerimb4.cgi?mode=print&message=<number>
    でMessage# <number>を表示します。
    <number>は、ハイフン、カンマで複数指定することが出来ます。
    ハイフンは範囲、カンマは区切りを表します。
    例:nerimb4.cgi?mode=print&message=12,15,24,20-22,8-5
    Message#5,6,7,8,12,15,20,21,22,24を表示します。
  • nerimb4.cgi?mode=print&message=<number>&title=on
    でMessage# <number>のタイトルを表示します。
    <number>は、ハイフン、カンマで複数指定することが出来ます。
    ハイフンは範囲、カンマは区切りを表します。
    例:nerimb4.cgi?mode=print&message=12,15,24,20-22,8-5&title=on
    Message#5,6,7,8,12,15,20,21,22,24のタイトルを表示します。
自動リンク
  • 書き込み記事内のhttp://から半角文字の最後まで自動リンクされます。行頭からのみのhttp://か文中全てのhttp://を自動リンクするかは管理設定で決定できます。タグの使用をオンにしている場合はタグ内のhttp://までも自動リンクされてしまうので行頭のみをお勧めします。
  • rejectlink.dat内に記されているMessage#にある記事内のhttp://はデッドリンクとみなされ、自動リンクされません。
  • 書き込み記事内の(#1234)などの表記でそのメッセージナンバーへリンクされます。
  • 書き込み記事内のMessage#1234の表記でもそのメッセージナンバーへリンクされます。
セキュリティについて
  • 画像ファイルをアップロード後にはサーバー上でのファイルのパーミッションは自動的に0666に設定されます。しかし、画像以外にどんなファイルでもアップロードできるので、実行権限の設定がないWindowsサーバー等では任意のCGIをアップロードされて外部から実行されてしまう恐れがあります。画像格納ディレクトリをCGIとは別のディレクトリに設定し、サーバー側でそのディレクトリ内ではCGIを実行できない設定にすることを強くお勧めします。
  • アップロード禁止拡張子の設定によりサーバーで実行可能な拡張子をアップロードできないように設定することができます。
  • キーワードによりスパムスクリプトからの書き込みを制限することができます。スパムスクリプトによる自動投稿を防ぐために書き込む際に書き込みページから設定したキーワードを自動的に渡します。スクリプト等により書き込みページを介さずに直接書き込みするにはこのキーワードを渡さないとできなくなります。スパム業者にキーワードが知られると結局スクリプトから書き込まれるのでそうなったらキーワードを変更するとよいでしょう。

CGIサンプル&ソース

更新履歴

  • 4.027 : 4/8/07 : 個人最終書き込みの日付を修正
  • 4.026 : 4/7/07 : 200件以前の日付検索を修正
  • 4.025 : 12/20/06 : 検索をCase Insensitiveに修正
  • 4.024 : 12/2/06 : メールアドレスチェックを修正
  • 4.023 : 11/19/06 : SSIモードのタイトル表示を修正
  • 4.022 : 11/17/06 : サーチのバグを修正
  • 4.021 : 11/3/06 : robot用noindexを返信フォーム等に追加
  • 4.020 : 11/1/06 : アップロードファイル処理を修正
  • 4.019 : 10/21/06 : 200件以前の日付検索のバグを修正
  • 4.018 : 10/20/06 : 最新メッセージの下にメッセージを追加できるように修正
  • 4.017 : 10/16/06 : Cookieを修正
  • 4.016 : 7/26/06 : アーカイブのデフォルトをチェック
  • 4.015 : 7/25/06 : Archiveを修正
  • 4.014 : 7/3/06 : アップロード禁止ファイル拡張子指定オプションを追加
  • 4.013 : 6/10/06 : 変更のバグを修正
  • 4.012 : 6/1/06 : 直接書き込み防止機能を追加
  • 4.011 : 4/24/06 : メールアドレスチェックを追加
  • 4.010 : 2/18/06 : Message#の自動リンクを修正
  • 4.009 : 1/23/06 : SSIモードでの添付アイコンのパスを修正
  • 4.008 : 1/22/06 : サポート外のファイルがアップされた場合に添付ファイルとして表示するよう修正
  • 4.007 : 1/20/06 : 変更画面での名前とメールを修正
  • 4.006 : 1/11/06 : 変更時に記事が消えてしまうバグを修正
  • 4.005 : 12/11/05 : rejectlink.datにあるMessage#のリンクは自動リンクしないように修正
  • 4.004 : 11/26/05 : 時間計算のバグを修正
  • 4.003 : 11/26/05 : 古いアーカイブファイルの自動削除機能追加。アーカイブファイルのファイル名を選択不可に修正。
  • 4.002 : 11/19/05 : サポートしていない画像も表示するように修正
  • 4.001 : 11/13/05 : アーカイブで画像もzipに含むように修正
  • 4.0 : 11/6/05 : コードを効率化。ユーティリティーを統合。1.0コンパチモードを削除。