無料(フリー)掲示板CGIプログラムとwebツール

HitBBS 初めに お約束 設置の基本 見本 DL&更新情報

※「お約束」に同意できない場合は使用する事が出来ません。

M1.1-詳細

お問合せ用途向きの掲示板用のメールフォームプログラムです。横幅が狭く作られていて、スマートフォンでも使用できます。

プログラムの動作の流れ。
フォームから投稿→確認画面表示→管理者へメール送信→完了

入力フォームは、名前欄・メール欄・Ver1・Ver2・Ver3(セレクトボックス)・本文、となっていて、名前欄・メール欄・本文は入力必須項目です。文字コードはUTF-8になります。

CGIプログラムで通信の暗号化はしていません。ログも平文で記録されます。

通信を保護したい時は、SSL(HTTPS)を利用して下さい。

必須条件
  • Encodeモジュール
  • MIME::Base64モジュール
  • sendmailコマンド

※sendmailが使えるサーバならモジュールは既に入っていると思います。

主な機能
  • 入力フォーム6項目
  • スマートフォン対応
  • 確認画面付き
  • Ver1からVer3は表示、非表示選択式

ファイル構成 - (転送モード)

ZIP ┐
    ├ m1 ┐
    │    ├ m1_skin.pl - (アスキー)
    │    ├ mail.cgi --- (アスキー)
    │    ├ mailto.pl -- (アスキー)
    │    └ spam.pl ---- (アスキー)
    │
    ├ details.html - (転送不要)
    └ readme.html -- (転送不要)

アップロード

設定が出来たら、設置の基本にある様にサーバにアップロードします。

プログラム実行に必要な権限

拡張子.cgiはCGIファイルです。実行・読み取り・書き込み、の権限が必要です。
拡張子.pl はPLファイルです。読み取り・書き込み、の権限が必要です。

CGIプログラムが獲得できる権限に合わせて下さい、サーバによって変わります。
例えば、ユーザー権限で動作する場合、PLファイルはその他グループで読み書き出来る権限は不要になります。

パーミッションについて

大抵はサーバの方で指定していると思うので、その値を使用して下さい。もし指定が無いようでしたら次の値でお試し下さい。

CGIファイル 705又は755又は775
PLファイル 604又は644又は664
ログファイル 600又は660
ディレクトリ 755又は775
ログ専用ディレクトリ 700又は770
CSS、HTMLファイル等 604又は644又は664又は666

※問題が出なければ、数字の小さい方を採用して下さい。


M1.1-ファイル概要

mail.cgi
実行ファイル(本体)です。ブラウザでアクセスするとフォームページが表示されます。 エディタで編集する必要があります。
mailto.pl
外見や実際に動作をするプログラムの中身が書かれています。
spam.pl
スパム規制用。エディタで編集してスパムを登録します。
m1_skin.pl
表示用のスキンがあります。

M1.1-マニュアル

インストール・アンインストール

インストールは、設定完了後アップロードするだけです。その後パーミッションを確認します。
使用しているモジュールは自分で用意する必要はとくに無いはずです。

アンインストールはアップロードした物と、ログ専用ディレクトリ等不要な物を削除するだけです。

管理の仕方

ログが残るのでそれをたまに確認するだけです。

ログ専用ディレクトリについて

設定で指定した場所にログは記録されます。デフォルトで、mail.cgiがあるディレクトリに作成されます。 サーバ側でログ用の非公開ディレクトリが用意されている時はその場所を利用して下さい。

ログが残るのは、送信した時だけです、確認画面までではログは残りません。

ログファイルはm1-mail_log.cgiの名前で保存されます。

ログの内容

日時
日時です。
[Host(Ad)]
ホスト(IPアドレス)
[Us_Agent]
ユーザーエージェント
[Referrer]
リファラ
送信内容
送信内容を記録します。

注意

なるべくSSL(HTTPS)を利用して下さい。

1分間に数十通メールが送信されるような用途には向いていません。

迷惑メールへ振り分けられる事があります。


M1.1-設定値

初期の設定は見本と同じになっています、環境に合わせて変更して下さい。

文字コードはUTF-8ボム無しになっています。

mail.cgi

実行ファイルで、掲示板の本体です。

#!/usr/bin/perl
perlの場所を示すもので、このCGIファイルはperlで処理しろと言う意味になります。
値はサーバに依存します、アップロードするサーバで指定されているので確認して下さい。
$Title
フォームタイトルを設定します。
$mail_to
送り先のメ-ルアドレスを設定します。通常は管理人のメールアドレスを設定します。
$mail_form
差出人のメ-ルアドレスを設定します。実際には、このCGIプログラムがメールを送信するので、これも管理人のメールアドレスを設定します。
上記のメールアドレスと同じにするとメールがスパム扱いされる時は、別々のものにして下さい。
$sendmail
sendmail のパスとオプションを設定します。"/usr/sbin/sendmail"がパスで、
" -i -t"がオプションになります。空文字「''」設定ですとメールを送らずに完了します。
$ps_spam_pl
スパム規制用のspam.plがある場所を相対パスで設定しています。
$dir_log_file
ログファイルを作成するディレクトリを設定します。空文字を設定するとログを残しません。
$display_name
フォーム設定、名前。画面に表示する文字を設定します。
$display_mail
フォーム設定、e-mail。画面に表示する文字を設定します。
$display_ver1
フォーム設定、Ver1。画面に表示する文字を設定します。
$display_ver2
フォーム設定、Ver2。画面に表示する文字を設定します。
$display_ver3
フォーム設定、Ver3。画面に表示する文字を設定します。
$display_sele
セレクトボックス設定。選択する文字を設定します、「,(カンマ)」で区切り、複数指定できます。
$display_txts
フォーム設定、本文。画面に表示する文字を設定します。

spam.pl

スパムやアクセス規制を登録するファイルです。登録部分は、ヒアドキュメントになっています。

$log_spam
スパムのログファイルの場所を設定します。
デフォルト値でcgiと同じディレクトリになっていて、spam_log.cgiと言う名前で保存されます。
ログは、日付・リモートアドレス・規制内容、となっています。
IPアドレス規制
「### IPアドレス規制ここから ###」の行から「### ここまで ###」の行の間に挟みます。
既にいくつか入っていますが、こんな感じで一行に一つずつ入れると、投稿が制限されます。
「123.456.」このように減らして入れると、123.456.0.0~123.456.255.255まで規制されます。
※アドレス一塊の数字は255までしかありません。
クッキー規制
この機能は当サイトで公開されている掲示板用のものになっています。

「### クッキー規制ここから ###」の行から「### ここまで ###」の行の間に一つずつ挟みます。
V1ではクライアントの投稿時のIDの数字がクッキーに登録されます、投稿ログを見る事で確認できます。

リファラ規制
「### リファラ規制ここから ###」の行から「### ここまで ###」の行の間に一つずつ挟みます。
リファラスパムやcgiにリンクされたくないドメインなどを設定します。
UA(ユーザーエージェント)規制
「### UA規制ここから ###」の行から「### ここまで ###」の行の間に一つずつ挟みます。
検索ボット(クローラー又はスパイダー)を規制するのに便利です。

m1_skin.pl

「<!-- スキンここから -->」から「<!-- スキンここまで -->」の間がスキンです。
全部で4か所あります。

sub skin_get1{# ページスキン
htmlページの上の部分(ヘッダーあたり)のスキン。
  • $_->{Title} $Titleの設定された内容
sub skin_return{# 完了文字
送信完了した時に表示される文字です。
sub skin_check{# 確認画面スキン
確認画面のスキンです。不要な項目は削除して下さい。
  • $$bRefer どのページからフォームを開いた知るためのリファラです。
  • $$a_name 入力された名前。
  • $$a_mail メールアドレス。
  • $$a_ver1 ver1
  • $$a_ver2 ver2
  • $$a_ver3 ver3
  • $$a_comm コメント(本文)。
sub skin_fom{# 初期ページスキン
最初に表示されるフォーム部分のスキンです。
  • $env_refer リファラです。
  • $_->{display_name} $display_nameの設定された内容
  • $_->{display_mail} $display_mailの設定された内容
  • $vers1 ver1の入力項目
  • $vers2 ver2の入力項目
  • $sele ver3の入力項目
  • $_->{display_txts} $display_txtsの設定された内容

HitBBS 初めに お約束 設置の基本 見本 DL&更新情報


HitBBS (c)
 管理人:ひとちゃん