|
機能
超多機能スレッド式メッセージボード
- CAPTCHAを使ったセキュリティイメージによりスパム書き込み制限(設定可)
- 画像アップ機能(使用不可にも設定可能)
- ファイルアタッチメント機能(使用不可にも設定可能)
- ディスクの許す限り全ての過去ログ保存可能
- 書き込み数、未読分、閲覧数表示
- 1ページ内表示スレッド数設定可
- スレッド名修正機能
- スレッド削除機能
- スレッドリストソート機能
- 各スレッド内200件以前の記事自動削除設定可
- 返信機能付き
- 未読分のみ表示機能
- 高速記事検索機能
- 投稿画像のサムネイルリスト表示機能
- サムネイル画像自動作成機能
- 携帯用画像ファイルサイズ制限機能
- 画像以外のファイルがアップされた場合は添付ファイルとして表示(アイコン設定可)
- アップロード禁止拡張子指定可
- 名前欄のメールリンクをメールフォームにすることによりスパムクローラーからアドレスを保護(設定可)
- 携帯対応簡易表示機能
- 書き込み統計機能
- 投稿画像・ファイルを含む記事アーカイブ・ダウンロード機能
- 記事削除機能
- 記事変更機能
- 記事中のhttp://の自動リンク機能
- 記事中の(#1234)など(#xxxx)でメッセージナンバーへの自動リンク
- 記事中のリンクのみ表示機能
- 特定記事のみ指定表示機能
- メッセージ表示順設定可能
- スタイルシート設定機能
- <HEAD>内文字列埋め込み機能
- 簡単セットアップ
- SSIモードでのプレビュー表示
- プレビューモードでの表示件数、表示行数設定可
- プレビューモードでの画像表示選択可
- スクリプト名をdmbssi.cgiにするとSSIモードで起動
- スクリプト名をdmbmob.cgiにすると携帯モードで起動
- メンバー専用投稿パスワード機能
- タグ使用選択可
- 各記事の名前、本文の色の個人設定(選択可)
- 記事中のリンクのクリーンアップ
- 統計で使うバーのgifファイルを自動生成
- スレッドファイルのリカバーモード機能
- 単一スクリプトにより簡単設置
- 管理用設定ページにて全てのスレッドの設定を一括で可能
- 各スレッド別の管理設定も可能
- 携帯モードのPerlコード挿入機能。モバイル広告などにも利用できます。
- スレッド式ではない通常の超多機能時系列式掲示板としてはメッセージボード4があります
- メッセージを一行ずつ書き込む一行掲示板もあります。
- CGIではありませんが
もあります。
設置方法
- サーバーにPerlのPackage, GD, LWP::UserAgent, Archive::Zip, GD::SecurityImage::ACがインストールされている必要があります。
- 書き込み可能でCGI実行可能なディレクトリにdmb.cgiを置く。
- dmb.cgiの1行目のperlのパスをプロバイダに従って変更する。
- dmb.cgiのパーミッションを適切に変更する。
- ブラウザ上でdmb.cgiを実行する。
- 管理人パスワードを聞いてくるので設定する。
- セットアップをクリックし、セットアップ画面でそれぞれ適切に変更し「設定」をクリックする。
この内容がdmb_setup.plに保存される。
この画面はdmb.cgi?mode=adminでいつでも呼び出せる。
- その後はdmb.cgiを実行するだけでディスカッションとして機能する。
SSIプレビューモード
次のようにSSIとして埋め込むのことによって最新メッセージの最初のline行をを表示することができます。
例1:<!--#include virtual="dmb.cgi?mode=ssi" -->
この記述で最新スレッドのメッセージを一つ表示します。
例2:<!--#include virtual="dmb.cgi?mode=ssi&id=1&line=10" -->
この記述でスレッドID=1の最新メッセージの最初の10行が表示されます。
サイトのトップページ上でのプレビュー表示として使えます。
SSIモードサンプル
また、スクリプトをdmbssi.cgiという名前で保存(又はシンボリックリンク)して実行すると自動的にSSIモードで起動します。
SSIのincludeが使えないサーバー等ではexecで使う事ができます。dmbssi.cgiにした場合でもdmb.cgiのファイルは必要です。
例3:<!--#exec cgi="dmbssi.cgi" -->
携帯用簡易表示機能
次のURLでアクセスすることで携帯用として最小限の表示だけをします。
例:dmb.cgi?mode=mobile
携帯モードサンプル
また、スクリプトをdmbmob.cgiで保存(又はシンボリックリンク)して実行すると自動的に携帯モードで起動します。
スクリプト名が短くなるのでURLの入力がしやすくなります。dmbmob.cgiにした場合でもdmb.cgiのファイルは必要です。
例:dmbmob.cgi
特殊な使い方
次のように<a href>などで直接リンクすることで指定スレッドID内の特定のメッセージを表示させることができます。
- dmb.cgi?mode=print&message=<number>&id=<id_number>
でスレッド<id_number>のMessage# <number>を表示します。
<number>は、ハイフン、カンマで複数指定することが出来ます。
ハイフンは範囲、カンマは区切りを表します。
例:dmb.cgi?mode=print&id=16&message=12,15,24,20-22,8-5
スレッドID=16のMessage#5,6,7,8,12,15,20,21,22,24を表示します。
- dmb.cgi?mode=print&id=<id_number>&message=<number>&title=on
でMessage# <number>のタイトルを表示します。
<number>は、ハイフン、カンマで複数指定することが出来ます。
ハイフンは範囲、カンマは区切りを表します。
例:dmb.cgi?mode=print&id=28&message=12,15,24,20-22,8-5&title=on
スレッドID=28のMessage#5,6,7,8,12,15,20,21,22,24のタイトルを表示します。
スレッドID
スレッドIDはトップページにタイトルの横に表示されている番号ではありません。
マウスをタイトルのリンクの上に持ってきたときにブラウザのステータスバーに「dmb.cgi?mode=viewthread&id=3」のように表示されたときの「3」がスレッドIDになります。
管理設定によりスレッドに表示させることもできます。
自動リンク
- 書き込み記事内のhttp://から半角文字の最後まで自動リンクされます。行頭からのみのhttp://か文中全てのhttp://を自動リンクするかは管理設定で決定できます。タグの使用をオンにしている場合はタグ内のhttp://までも自動リンクされてしまうので行頭のみをお勧めします。
- rejectlink.dat内に記されているMessage#にある記事内のhttp://はデッドリンクとみなされ、自動リンクされません。
- 書き込み記事内のID#15などの表記でID=15のスレッドへリンクされます。
- 書き込み記事内の(#1234)などの表記でそのメッセージナンバーへリンクされます。
- 書き込み記事内の(#1-1234)などの表記でID=1内のメッセージナンバー1234へリンクされます。
- 書き込み記事内のMessage#1234の表記でもそのメッセージナンバーへリンクされます。
- 書き込み記事内のMessage#1-1234などの表記でID=1内のメッセージナンバー1234へリンクされます。
セキュリティについて
- CAPTCHAによるセキュリティイメージを使用することによりスパム書き込みを防ぐことができます(デフォルトは無効になっています)。書き込み時に表示された画像をテキストボックスに入力することでのみ書き込み可能になります。スパムプログラムはこの画像のテキストを読むことができないので自動で宣伝を書き込むことができなくなります。
- ファイルをアップロード後にはサーバー上でのファイルのパーミッションは自動的に0666に設定されます。しかし、画像以外にどんなファイルでもアップロードできるので、実行権限の設定がないWindowsサーバー等では任意のCGIをアップロードされて外部から実行されてしまう恐れがあります。画像格納ディレクトリをCGIとは別のディレクトリに設定し、サーバー側でそのディレクトリ内ではCGIを実行できない設定にすることを強くお勧めします。
- アップロード禁止拡張子の設定によりサーバーで実行可能な拡張子をアップロードできないように設定することができます。
- セキュリティイメージを無効にした場合、キーワードによりスパムスクリプトからの書き込みを制限することができます。スパムスクリプトによる自動投稿を防ぐために書き込む際に書き込みページから設定したキーワードを自動的に渡します。スクリプト等により書き込みページを介さずに直接書き込みするにはこのキーワードを渡さないとできなくなります。スパム業者にキーワードが知られると結局スクリプトから書き込まれるのでそうなったらキーワードを変更するとよいでしょう。
True Type Fontについて
- CAPTCHA機能(セキュリティイメージ)を使うには管理用セットアップページの「セキュリティイメージ」の「TTFフォントファイル」にTrue Type Fontを指定しないといけません。
- サーバーが持っているフォントを指定することもできますが、多くの場合はそれらのファイルにアクセスできないと思われます。
- フォントを配布しているサイト等からTrue Type Fontをダウンロードし、.ttfファイルをサーバーにアップロードして管理用セットアップの「TTFフォントファイル」にそのファイルを指定すると良いでしょう。
- ブラウザで実行した際、Error loading ttf font for GD: Could not find/open font at .../site/lib/GD/SecurityImage/AC.pm line 70のようなエラーが出た場合は、管理用セットアップ画面に入り、「TTFフォントファイル」を適切に指定してください。
CAPTCHAを使いたくない方へ
- PerlのPackage GD::SecurityImage::ACがサーバーにインストールされていないためCAPTCHAを使いたくない方は管理用セットアップで「セキュリティイメージ設定」を「無効」にし(デフォルトで無効)、スクリプト内の「use GD::SecurityImage::AC」をコメントアウトしてください。
- GD::SecurityImage::ACがインストールされていて、且つCAPTCHAを使いたくない方は、管理用セットアップの「セキュリティイメージ設定」を「無効」にするだけで使用できます。
環境設定
- トップページの「管理用」リンクから管理人設定ができます。ここでスレッド表示ページと各スレッド内(メッセージボード設定)の設定を同時に行うことができます。
- ここで設定された各スレッド内の設定は全てのスレッドに適用されます。
- 各スレッド内(メッセージボード)の「セットアップ」リンクからそのスレッドのみの専用の設定を別にすることが可能です。
- 個別の設定をした場合はそのスレッド専用の設定がトップでの設定よりも優先されます。
- 個別の設定ページに固有の設定を破棄する設定もあり、これを実行した場合は、トップでの設定が適用されるようになります。
- スレッドを削除した場合そのスレッド専用の環境ファイルも削除されます。
リカバーモード
- スレッドファイルが消えてしまった場合、スレッドデータファイルから復活させることができます。
- ブラウザで「dmb.cgi?mode=recover」を実行し、管理人パスワードを入力するとthdata.datを作成し直します。
- Ver. 1.013以前のdmb.cgiから書き込まれたスレッドの閲覧数は全て0になってしまいます。
- Ver. 1.013、又はそれ以降のdmb.cgiから書き込まれたスレッドの閲覧数は最終書き込み時点での閲覧数になってしまいます。
- 元のthdata.datはthdata.dat.<number>としてバックアップされます。
名前のメールリンクからメールの送信
- 管理設定の「名前欄のメールリンク」を「メールフォームにリンク」にすると書き込み時にメールアドレスを記入した際、名前がメールフォームにリンクされそこからメールを送られるようになります。この場合mailto:でリンクされないのでスパム業者のメールアドレスクロールから守ることができます。
- 「メールフォームにリンク」を選択した場合は管理人設定の「メールコマンド」も適切に設定してください。そこで設定したコマンド(sendmail等)がメール送信に使用されます。「メールフォームにリンク」以外を選択した場合は「メールコマンド」の設定は無視されます。
- 名前のリンクは「mailto:にリンク」「メールフォームにリンク」「リンク無し」を管理人設定で選択することができます。
- 「名前欄のメールアドレス」を表示にすると名前のリンクとは関係なく名前表示の横に()でメールアドレスを表示します。
- 「メールフォームにリンク」+「名前欄のメールアドレス」非表示を設定した場合、メールアドレスがどこにも表示されないので利用者に知られることがありません。
CGIサンプル&ソース
更新履歴
- 1.055 : 3/16/08 : スレッドサーチでの日にち表示を修正
- 1.054 : 2/18/08 : 携帯モード書き込み→PC削除の場合のエラーを修正
- 1.053 : 2/16/08 : 変更字にIP情報が冗長になるのを修正
- 1.052 : 1/28/08 : メッセージを古い順に表示するオプションを追加
- 1.051 : 1/22/08 : メッセージのパスワード未設定の処理を修正
- 1.050 : 12/2/07 : 縮小画像自動作成機能を追加。携帯画像ファイルサイズ制限機能を追加。
- 1.049 : 11/22/07 : 携帯モードでのID#への自動リンク、PCページへのリンクを追加
- 1.048 : 11/21/07 : 携帯モードの番号の指定を修正、及びMessage#のリンクを追加
- 1.047 : 10/21/07 : 携帯モードにperlコードを挿入できるオプションを追加
- 1.046 : 10/4/07 : 入力フォームを若干修正
- 1.045 : 9/5/07 : CAPTCHA画像をjpeg, gifで出力するオプションを追加
- 1.044 : 6/11/07 : ページ毎のソートを修正
- 1.043 : 5/11/07 : サーチの日付のデフォルトを修正
- 1.042 : 4/15/07 : リカバーのタイムスタンプを修正
- 1.041 : 4/8/07 : 200件以前の返事削除変更リンクを修正、個人最終書き込みの日付を修正
- 1.040 : 4/7/07 : 200件以前の日付検索を修正
- 1.039 : 3/29/07 : 名前のメールリンクをメールフォームにするオプションを追加
- 1.038 : 2/10/07 : デフォルトでCAPTCHAをオフに修正
- 1.037 : 1/22/07 : スレッド更新、recover modeを修正
- 1.036 : 1/18/07 : 200件以前のbody_insertを修正
- 1.035 : 1/9/07 : zipファイル作成を修正
- 1.034 : 1/8/07 : ファイルロックのバグを修正
- 1.033 : 1/6/07 : mode=read時にスレッドデータを触らないように修正
- 1.032 : 1/3/07 : 携帯モードにnoidexを追加
- 1.031 : 12/29/06 : robot用noindexを日数表示に追加
- 1.030 : 12/20/06 : 無効なスレッドIDを指定したときの処理を修正
- 1.029 : 12/19/06 : 検索結果表示を修正
- 1.028 : 12/17/06 : BODY内挿入に「</body>の前」を追加。id#xによるスレッドへの直接リンクを追加。
- 1.027 : 12/8/06 : 検索をCase insensitiveに修正
- 1.026 : 12/2/06 : メールアドレスチェックを修正
- 1.025 : 12/1/06 : 200件以前にもタイトルと戻るリンクを追加。変更時のグループパスワードチェックを修正。
- 1.024 : 11/23/06 : 閲覧カウンタを修正
- 1.023 : 11/17/06 : サーチのバグを修正
- 1.022 : 11/15/06 : アップファイルサイズ処理を修正。
- 1.021 : 11/6/06 : SSIモード表示を修正。スレッドソート順を修正。
- 1.020 : 11/4/06 : タグ変換を修正。セットアップのバグを修正。
- 1.019 : 11/3/06 : robot用noindexを返信フォーム等に追加
- 1.018 : 10/30/06 : CAPTCHA導入, メンバーパスワードを強化、SSIモードに最新スレッドモード追加
- 1.017 : 10/29/06 : 全スレッド検索を追加
- 1.016 : 10/21/06 : 200件以前の日付、添付表示のバグを修正
- 1.015 : 10/20/06 : 最新メッセージの下にメッセージを追加できるように修正
- 1.014 : 10/16/06 : Cookieを修正
- 1.013 : 10/15/06 : スレッドファイル復活モードを強化
- 1.012 : 10/14/06 : スレッドファイル復活モードを追加
- 1.011 : 10/11/06 : 未読分計算を修正。スレッドを超えたリンク機能を追加。
- 1.010 : 10/10/06 : アップファイル処理を修正
- 1.009 : 10/1/06 : ID表示オプション追加。スレッドソート機能追加。
- 1.008 : 9/10/06 : 携帯書き込み時のエラーを修正
- 1.007 : 9/10/06 : スレッド更新ファイルを修正
- 1.006 : 8/6/06 : 修正フォームのテキストを修正
- 1.005 : 8/1/06 : クッキーとスレッド削除を修正
- 1.004 : 7/27/06 : トップに未読分表示
- 1.003 : 7/26/06 : アーカイブのデフォルトをチェック
- 1.002 : 7/25/06 : クリーンリンク他修正
- 1.001 : 7/25/06 : 統計、アーカイブ、サーチを修正。
- 1.0 : 7/24/06 : Created.
|