7行BBS bbs.cgi リファレンス Ver.2008.8.1  作者:さくらいるか 【概要】 ・Perlを使った7行ソースによる掲示板スクリプトです。 【利用者向け:使い方】 ・名前と本分を入力して「おくる」ボタンを押すと、書込めます。 ・最大ログ保持数(デフォルトは25)を超えた分のログはバックアップされません。注意して下さい。 ・名前と本分の両方が入力されてないと書込を拒否されます。 (7行プログラムのためエラーを表示するような親切な機能はありませんので、  書込みができなかった時点で、どちらかが抜けていたとご理解下さい) ・スパム書込を避けるため、 href と url はNGワードです。  NGワードを入力すると、名前と本分の両方があっても書込を拒否されます。  その他、掲示板の管理者がNGとした単語は書き込めません。  「そのサイトのURL希望」「見せたいURLはhttp://〜〜です。」等と書きたい時は、  「そのサイトのアドレス希望」「見せたいアドレスはhttp://〜〜です。」と書くといいでしょう。 【管理者向け:設置方法】 ・ソースをコピーします。メモ帳でも何でもいいです。 ・コピーしたソースの、以下の2箇所を変更して下さい。  ・1行目、#!/usr/bin/perl をサーバーにあわせて変更。  ・2行目、$p='del' の「del」が削除パスワードです。   掲示板荒らし等に勝手に削除機能を使われないように、パスワードを適当に変更してください。   (利用者が自由に削除できる必要性があるならば「del」のままでいいでしょう) ・bbs.cgi という名前を付けてパーミッション755でアップロードします。 ・log.dat という空のファイルを作り、同じフォルダにパーミッション666でアップロードします。 ・サーバーごとに制約があるなら、それに従って下さい。  (777でないと動かないようなパーミッションが特殊なサーバーとか、  cgi-binフォルダでないとCGIが使えないサーバーとか、他) 【管理者向け:使い方】 ・名前欄に削除パスワード(デフォルトでは「del」)を、  本文欄に消したいログの(上から数えた)段数を入力すると、そのログを削除できます。 ・各種機能、堅牢性  ・書込日付時間の記録機能。  ・管理者によるログ削除機能。  ・NGワードによる荒らし、スパム撃退機能。  ・連続改行荒らし対策機能。  ・500文字までの投稿文字数制限機能。名前文字数制限40文字。  ・書込後、本文欄のみをリセット。   これにより連投荒らしを排除する事が可能(簡易機能)  ・ファイルロック(簡易機能)  ・クロスサイトスクリプティング、コマンドインジェクション対策済。 【管理者向け:カスタマイズ】 ・2行目、$Fの中身を変更すると、ログファイルのファイル名を変更可能 ・3行目 m/url|href/ の //内を|で区切って追加すると、NGワードを追加できます。  ex.) m/url|href|biagra|freesex/ で、biagra と freesex がNGワードになります。    ・アルファベットや数字ではない、いわゆる記号には\をつけて下さい。     \"、\/、\[ こんなかんじです(詳しくはPerlの説明サイト等をお読み下さい)     タブは\t、スペースは\sです。     普通のスペースやタブを入れると掲示板が動かなかったり、挙動がおかしくなる場合があります。    ・日本語を入れると掲示板が動かなかったり、挙動がおかしくなる場合があります。    ・普通は url と href の2つで大抵は大丈夫ですが、スパムや荒らしが来た場合、     その特徴的な単語を追加するといいでしょう。      ・追記(2008.4.22) NGワードを追加する時は site あたりがいいでしょう。     デフォルトのNGに引っかからないスパムは「Hi,nice site!」という書き出しが多いです。 ・2行目(1..25)の 25 を変更すると、ログ最大保持数が変更できます。  10〜50程度が妥当でしょう。  50を超えるログはサーバーへの負担や利用者の可読性を考えると推奨できません。 ・以下はperlに詳しい人用の変更項目です。  ・3行目、500 を変更すると最大文字数を変更可能。  ・6行目、Shift_JIS を変更すると使用する文字コードを変更可能。  ・7行目、8行目「** けいじばん **」「おなまえ:」「おくる」を変更すると、掲示板の体裁を変更可能。  ・7行目にbody()関数を使って、背景色や文字のサイズを変えたり、壁紙をつけても面白いでしょう。   etc.... 【現時点で判明している問題点】 ・書込後、ブラウザの戻るボタンを押し、「リクエストを再送信するか」の  質問に「はい」と答えると、連投できる問題。 ・クエリ名1と2さえ合致すれば、外部リクエストを受け付けてしまう問題。  ・この問題を逆手にとれば、色々なページでコメント受付が可能です。   適当なページに、    
 
  
  とすれば可能です。 ・段落を作るための空改行も詰められてしまう問題。 ・本文はNGワードで拒否するが、名前についてはNGワード機能が働かない問題。 ・最大ログ保持数を1つ超えてログ保持する(26件)場合が多い問題。 【免責】 ・これを設置した事、運営した事、利用した事他、全ての場合において、  いかなる損害が起きようとも、作者は一切の責任を負いません。