動作サンプル
どんなものなのかは動作サンプルでご確認ください。
管理者パスワードが必要な機能については、実際にご自身で設置してお試しください。
=2015/6/10 ファイル添付の際の脆弱性を修正しました。最新版(v1.21)にアップデートしてください。=
=2007/1/28 トラックバック・スパムの緊急回避的対処方法=
ブログ風電子掲示板
◇ 1投稿で画像は何枚でも添付可能
もちろん、管理者が初期設定する合計サイズおよび枚数以内ですが、1回の投稿で複数の画像を添付できます。
また、表示時には画像の横サイズを固定した擬似サムネイルを作成し、縦方向に順に並べることで、配置を整えることが出来ます。
レイアウトのため、縮小(小さな画像の場合は拡大になる場合もあります)サイズや、横並びの最大数も設定できます。
◇ コメントにも画像投稿可能
通常の投稿と同様に、コメント投稿でも同様の画像添付が可能です。
◇ スパム対策
自動による迷惑投稿を防止するために、あらかじめ設定した回答を入力しないと投稿やコメントが出来ない機能が標準装備されています。
この機能を応用することで、たとえば、特定の人にしか教えていないキーワードを入力させるようにすればグループ内のみで利用できますし、
誰にも教えない自分だけのキーワードにすれば、専用掲示板になります。投稿とコメントでは別々にキーワードを設定できますので、
投稿は自分だけ、コメントは開放、というブログ形式で利用することも可能です。
◇ 画像は投稿後に個別に削除可能
画像については、投稿した後に、任意の画像のみを個別に削除することが可能です。固定リンク内で表示された画像の右上の×印をクリックします。
◇ 本文とコメントに装飾が可能
安全のためタグの使用は出来ませんが、太字・斜体・下線での装飾、リンクの挿入が可能です。
独自形式のため、スパム投稿等によりタグが記入されても無視されることになります。
◇ YouTube動画の挿入が可能
YouTubeの動画画面を投稿中に挿入することが出来ます。
管理者の初期設定により、この機能を使わないようにも出来ます。途中で設定を変更した場合は、それまでに挿入されたすべての動画は、
掲示板上に表示されなくなりますが、データは残ります。
◇ プレビュー機能
プレビュー機能(投稿前に内容を確認する機能)があるため、修正機能は用意してありません。
投稿レポートメール機能により、投稿内容をチェックした後に修正されてしまうと、チェックする意味が薄れてしまうからです。
◇ トラックバック受信機能
トラックバック送信(トラックバックPing)機能はありません。それは、その機能をつけるために相応の技術が必要になるからです。
できるだけ多くの方に設置してご利用いただけるよう、あえてその機能を省きました。そして、比較的容易に用意可能な受信機能のみ用意しました。
トラックバックURLは一部をエンティティーコードによりコード化しているので、自動ロボットに拾われにくくなると思われます。
管理者の初期設定により、この機能を使わないようにも出来ます。途中で設定を変更した場合は、それまでに受信されたすべてのトラックバックは、
掲示板上に表示されなくなりますが、データは残ります。
◇ 投稿レポートメール機能
投稿、コメントが記録されたとき、トラックバックを受信したときに、その内容をいち早く管理者にメールでご案内します。
届かないように設定することも出来ますが、受信することを推奨します。
◇ 名前にはリンクが付きます
フォーム画面にあるリンク欄にリンクを入力すると、投稿者名にアンカーリング(リンク)されます。
メールアドレスを伝えたい場合は本文に記載してください。
◇ 投稿パスワードは暗号化されます
投稿やコメント時に入力されたパスワードは暗号化されて記録されますので、管理者にも分かりません。
もしパスワードを忘れて投稿やコメントを削除できなくなった場合は、管理者パスワードで削除できるので、管理者に依頼してください。
なお、管理者パスワードは初期設定に平文(暗号化されないプレーンな状態)で記録します。Webからは見えませんが、
重要な文字列(アクセスパスワードやカード暗証番号など)を設定しないようにしてください。
◇ 最近のコメント・最近のトラックバック
過去の投稿にコメントした場合にその投稿が上に上がらないと(いわゆるage機能)、コメントされたことに気が付きにくくなります。
age機能は用意していない代わりに、投稿されたコメントや受信したトラックバックを、最近から順に設定した件数を一覧上に表示することができ、
まとめてチェックすることが出来ます。
◇ Googleを利用した検索機能など
Googleを活用し、掲示板内の検索を可能にしました。
ただし、検索エンジンが掲示板内の情報を自動取得した後でないと結果は反映されないことに注意してください。
管理者の初期設定により、この機能を使わないようにも出来ます。
◇ 入力されたリンクをチェック
投稿やコメントに入力されたリンクをクリックすると、直接そのURLに飛ばず、注意画面が挿入されます。
その際に、Googleを利用した検索機能を使っている場合には、関連ページやそこにリンクされているページを検索し確認することにより、
不審なリンクの場合は、そのリンク先へ行く前にある程度の推測することが出来る情報を収集することが出来ます。
◇ 固定リンク制について
各投稿は個別に表示できるパーマリンク(直接アクセスすることが出来る変更されないURL)が生成されています。
一覧状態ですべての情報(コメントやコメントに添付された画像や動画など)を表示してしまうと巨大になってしまう可能性があるため、
それらはそれぞれの固定リンクで表示されるページでのみ見ることが出来るようにしました。
◇ シンプル設計
見た目に細かい情報(メッセージIDや投稿日時など)を隠すことで、画面を出来るだけスッキリさせるようにしました。
シンプルですが多機能です。
◇ クッキー機能
ブラウザに情報を記録できるクッキーという機能を利用し、名前(投稿者名)とリンクを記憶させることが出来ます。
記憶するというボックスのチェックを外した状態で投稿すると、それまでに記憶されているクッキー情報を消去します。
◇ ワンタイムパスワード
表示された投稿およびコメントフォームに記入した内容は、アクセス者のIPアドレスから独自の仕様で生成したキーと共に送信され、
記録処理時に同じチェックをして、整合性を確認します。別のサイトに勝手にコピーして作られたフォームからは投稿を受付ません。
そのため、アクセス毎にIPアドレスが変わってしまう環境(携帯等)では投稿が出来ませんのでご注意ください。
◇ 一括削除機能
管理者パスワードにより、複数の投稿を削除する機能を利用するには、一覧画面の最下部に表示される「管理」をクリックすることにより出来ます。
すべての投稿データが一覧され、任意の複数の投稿を同時に削除できます。削除された投稿に付加されているコメントやトラックバックや画像も削除されます。
◇ 画像掲示板にしない v1.03〜
画像添付機能を使わない設定が出来るようにしました。既に投稿された画像は表示されます。また、これをしない場合はYouTube挿入も出来なくなります。
ダウンロード
-
- - Perl5.6以上の環境でご利用ください。
- - ダウンロード (blobee1_21.zip) (伸張&展開の仕方)
- - 設置済み状態のバージョンアップは原則的に、履歴(history.txt)に書かれている「修正があるファイル」のみを入れ換えることで可能です。
- - 困ったらサポート掲示板 (掲示板利用上の注意)
- - このシステムはフリーソフトですが、利用規定に従ってご利用ください。
設置方法
CGIとHTMLを同じフォルダに配置できる場合
CGIが実行できる場所にHTMLファイルや画像をおいても見ることが出来る場合です。逆に言えば、HTMLファイルを置いているフォルダにCGIを設置しても実行できる場合です。
原則的に以下の配置で設置します。この配置なら、ほとんどの初期設定をいじらずに済みます。CGI専用のような名称のフォルダが存在している場合でも、
そこにHTMLや画像を置いてアクセスしてみて表示できるならこちらの方法でOKです。
( )内はパーミッション相当値です。記述がないファイルは644相当です。(※1)印のファイルはご自身で用意(中身のない空のファイル/サイズ0)してください。
すべてのファイルはアスキーモードで転送設置してください。
/任意のフォルダ/
|
|--/img/ (777)
| |
| |- blobee.gif
|
|--/tmp/ (777)
|
|- base64.pl
|- bbs.cgi (755) ... 実行CGI
|- cgi-lib217x.pl ... 設定を変更している専用ライブラリです
|- comment.cgi (666) ... コメントデータファイル(※1)
|- jcode.pl ... 日本語コード変換ライブラリ(v2以降を利用のこと)
|- jipang8.txt
|- message.cgi (666) ... 投稿データファイル(※1)
|- setup.cgi ... 設定ファイル
|- simaguni.pl
|- trackback.cgi (666) ... トラックバックデータファイル(※1)
CGIとHTML(画像を含む)を別フォルダに配置しなければならない場合
添付された画像は/img/や/tmp/に記録され、Webから呼び出されますので、以下のような構成で配置します。
そして、設定ファイル(setup.cgi)には、"bbs.cgi"から見たそれらのフォルダの位置を $img_dir と $tmp に相対または絶対パスで設定します。
一般的に、FTPソフトで表示されているパスは、/ から始まっていても絶対パスではない場合が多いですので、できるだけ相対的に設定してください。
以下に書いてあるのは、CGIフォルダとHTMLフォルダが1階層違いで同じ位置にある場合の例です。つまり、1階層あがって移動して下がっている場合です。
|--/cgi-bin/ (CGI専用フォルダ/HTMLや画像を置いてもアクセスできないフォルダ)
| |
| |- base64.pl
| |- bbs.cgi (755)
| |- cgi-lib217x.pl
| |- comment.cgi (666)
| |- jcode.pl
| |- jipang8.txt
| |- message.cgi (666)
| |- setup.cgi
| |- simaguni.pl
| |- trackback.cgi (666)
|
|--/htdocs/ (HTMLや画像を置くフォルダ)
|
|--/img/ (777)
| |
| |- blobee.gif
|
|--/tmp/ (777)
$img_dir = '../htdocs/img/'; # 画像フォルダ
$tmp = "../htdocs/tmp/"; # 作業フォルダ
初期設定
"setup.cgi"が初期設定ファイルです。ここに書かれている内容を読んで、少なくとも必須設定を行ってから動かしてください。
実行するのは"bbs.cgi"です。
メンテナンス
通常、特に必要ありません。投稿データファイルには親投稿が記録され、コメントやトラックバックはそれぞれ別のファイルに記録され、
それらは投稿データのメッセージIDを含んだデータIDを持っています。画像は/img/に保存され、投稿データのメッセージIDを含んだファイル名を持っています。
投稿データファイルに存在しないのに残ってしまったコメントデータやトラックバックデータや画像ファイルを見つけるには、
[管理]→[データ検査]を実行してください。もしそのようなデータやファイルがあった場合は、FTPで手動で編集や削除する必要があります。
データの引越しは、各データファイルと/img/内のファイルをそのまま移動すればOKです。ただし、暗号方式の違うサーバに移動した場合には、
パスワード認証が出来なくなり、投稿者削除が出来なくなります(管理者削除は可能です)。
|