簡易掲示板のカスタマイズ方法について
ソースの公開は、次号のお楽しみ?なんちゃって、引っ張った割には、ありきたりな内容になってしまいました。約束通り、筆者が独自にカスタマイズした簡易掲示板(Based
on MiniBBS V9.02) のソースコードを別紙1に示します。ソースコード(別紙1)には、コメントが付与されていますが、本特集で解説できるのは筆者が独自にカスタマイズした部分についてのみです。悪しからず。 |
★別紙1MiniBBS(簡易掲示板)ソースリスト 本講座で掲載したプログラムの一部または、全ての内容は、簡易掲示板(web レスキュー提供)の利用規定により、再配付できないことになっています。また、web レスキューで提供されているソースコードのオリジナル部分についての説明も一切できません。オリジナル版への質問は、サポートセンターへ直接連絡して下さい。また、Bug や不具合を発見した場合も同様です。筆者がサポートできるのは、ここで紹介した追加機能とWindowsNT へのカスタマイズ方法のみです。 |
【リストの説明】
システムデータ編:0173〜0253 0173〜0180は、メッセージの二重投稿を防止する機能です。つまり、投稿直後にリロード(更新)した場合や同一投稿者による同一メッセージの二重投稿を禁止する機能です。[★★★] 0182〜0196は、特定ハンドル名を使用した投稿を禁止する機能です。chknameに1を設定し、namengに書き込みを禁止したいハンドル名を定義するとそのハンドル名を使用した投稿はできなくなります。[★] 0198〜0217は、特定ホストからのアクセスを拒否する機能です。rejectに1を設定し、reject_host にアクセスを拒否したいホスト名を記述するとそのホストからのアクセスを拒否することができます。[★★★★★] 0219〜0235は、投稿されたメッセージ中にNGワードがあるか否かをチェックする機能です。langに1を設定し、ngwordに書き込みを禁止したい言葉を1ワード〜3ワードの範囲で定義します。例えば、1ワードの書き込み禁止言葉を定義したい場合は、"1 くそたれ @@@@ @@@@"とし、残りの2ワードを@@@@で埋めて下さい。また、2ワードの書き込み禁止言葉を定義したい場合は、"2 こら 失せろ @@@@"とし、残りの1ワードを@@@@で埋めて下さい。上記は、「ウル乳のくそったれ死んでしまえ」と投稿するとNGとなります。また「こらウル乳!、下らないことばかり書いてんじゃねぇ。とっとと失せろ!」と投稿するとNGとなります。[★★★] 0237〜0247は、アクセスログを記録する機能です。alogに1を設定し、logcntに最大記録数、access_logにログファイルの格納先のディレクトリを指定します。[★★★★] 0249〜0253は、匿名プロキシ経由のアクセスを拒否する機能です。proxy に1を設定すると匿名プロキシ経由からの書き込みを拒否します。proxy に2を設定すると匿名プロキシ経由のアクセスを全面的に拒否します。[★★★★] 実行ステートメント編:0255〜1009 0256は、0209〜0214で定義したホストからの接続か否かをチェックします。 0258は、匿名プロキシ経由のアクセスを禁止している場合、匿名プロキシ経由の接続か否かをチェックします。 0346は、アクセスログをファイルに吐き出します。 0354〜0356は、タイトルフォントのサイズを「5」 に変更しました。H1タグサイズでも特に問題ありません。 0382〜0386は、投稿画面をカスタマイズしました。具体的な変更個所は、終了ボタンと更新ボタンを削除しました。オリジナルに戻したい場合は、「#」 を削除して下さい。 0382〜0386は、アクセスログを記録する場合に必要です。アクセスログの記録が不要な場合は、オーバーヘッドの要因となります。本ステートメントは、できるだけコメントにておいて下さい。 0433〜0435は、投稿時のサブジェクトのサイズを変更しています。元のサイズでも特に問題はありません。 0443〜0445は、投稿メッセージのサイズを変更しています。元のサイズでも特に問題はありません。 0479〜0482は、投稿画面をカスタマイズしました。具体的な変更個所は、文末の終了ボタンと更新ボタンを削除した点です。オリジナルに戻したい場合は、「#」 を削除して下さい。 0503〜0504は、匿名プロキシ経由の投稿(書き込み)を禁止している場合、プロキシチェック処理を実行します。 0542は、投稿内容にNGワードが含まれているか否かをチェックします。 0556〜0558は、0819〜0821の処理で代用します。従ってコメントにしておいて下さい。 0570は、特定ハンドル名からの投稿か否かをチェックします。 0573〜0574は、二重投稿(orブラウザのリロードボタン押下)か否かをチェックします。 0759〜0759、0759〜0759、0782〜0783は、WindowsNT 用にカスタマイズした部分です。UNIXベースで運用する場合は、カスタマイズの必要はありません。WindowsNT には、lsコマンドがないため、代替処置として、dir コマンドを使用します。 0789〜0790は、WindowsNT 用にカスタマイズした部分です。UNIXベースで運用する場合は、カスタマイズの必要はありません。WindowsNT では、既に存在しているファイル名にrename(=mv) することができないため、一度ファイルをunlinkしてからrenameコマンドを実行します。 0791〜0792は、WindowsNT 用にカスタマイズした部分です。UNIXベースで運用する場合は、カスタマイズの必要はありません。WindowsNT では、chmod 相当のコマンドがない?(筆者は知らない)ため、削除しました。当該ファイルのセキュリティを予め、RWにしておけば効果は同じです。(笑い)分かるかなぁ。 0795〜0812は、二重投稿チェック処理の本体です。同一投稿者による同一メッセージの投稿かをチェックします。また、投稿直後にブラウザのリロード(更新)機能を使用した場合も同様のチェックが施されます。勘違いしてはならないのは、ブラウザのリロード(更新)機能は、「直前に実行した処理を再実行する」です。当該URL を再読み込みするではありません。 0814〜0829は、ホスト名チェック処理の本体です。特定ホストからの接続か否かをチェックします。 0831〜0840は、投稿者名チェック処理の本体です。特定のハンドル名を用いた投稿か否かをチェックします。 0842〜0865は、NGワードチェック処理の本体です。書き込み禁止言葉か否かをチェックします。 0867〜0905は、アクセスログファイル書き込み処理の本体です。システムデータalogが0「アクセスログを記録する」の場合は、クライアント側の情報を収集し正規化表現に変換後、[0907〜0917]ホスト名、アクセス日時などをファイルに記録します。 0919〜0949は、匿名プロキシチェック処理の本体です。匿名プロキシ経由でアクセスしているか否かをチェックします。システムデータproxy による、チェック条件が成立した場合は、エラーメッセージを出力します。[0951〜0972] 0974〜1009は、Source Module のコメントに記載されている通りです。(笑い) ★の数は、筆者の独自と偏見に満ちた、お勧め度を現わします。 |
![]()
チョットばかり遅い夏休み(海外旅行)とか海外出張やらで、一時はどうなることかと思っていましたが、どうやら間に合いました。(笑い)
|
![]()
11月号目次へ(フレーム未対応) |