#!/usr/local/bin/perl #┌───────────────────────────────── #│ Aska BBS v2.2 (2001/09/08) #│ Copyright(C) Kent Web 2001 #│ webmaster@kent-web.com #│ http://www.kent-web.com/ #└───────────────────────────────── $ver = 'ASKA v2.2'; #┌───────────────────────────────── #│ [注意事項] #│ 1. このスクリプトはフリーソフトです。このスクリプトを使用した #│ いかなる損害に対して作者は一切の責任を負いません。 #│ 2. 設置に関する質問はサポート掲示板にお願いいたします。 #│ 直接メールによる質問は一切お受けいたしておりません。 #└───────────────────────────────── # # 【ファイル構成例】 # # public_html (ホームディレクトリ) # | # +-- aska / aska.cgi [755] # | aska.log [666] # | jcode.pl [644] # | # +-- lock [777] / # #============# # 基本設定 # #============# # 文字コード変換ライブラリ取り込み require './jcode.pl'; # タイトル名 $title = "ボーイスカウト"; # タイトル文字の色 $t_color = "#90EE90"; # タイトル文字のタイプ $t_face = "MS Pゴシック"; # タイトル文字サイズ(スタイルシートで有効) $t_point = '18pt'; # 本文文字サイズ(スタイルシートで有効) $b_point = '10pt'; # 記事題名の色 $sub_color = "#DD0000"; # スクリプト名 $script = './aska.cgi'; # ログファイル名 $logfile = './aska.log'; # 管理用パスワード $pass = '5615'; # 最大記事数(これを超える記事は古い順に削除されます) $max = 50; # 戻り先 $home = "http://www.sulga.co.jp/bs/index.htm"; # タイトル画像を使う場合 (http://から画像を指定) $ImgT = ""; $ImgW = 300; # 横幅サイズ $ImgH = 70; # 縦幅サイズ # bodyタグ $body = '
'; # method形式 (POST/GET) $method = 'POST'; # タグ許可 (0=no 1=yes) $tagkey = 0; # URLの自動リンク (0=no 1=yes) # --> タグ許可の場合は「0」とすること。 $autolink = 1; # 1ページあたりの記事表示件数 $p_log = 10; # ファイルロック形式 # → 0=no 1=symlink関数 2=mkdir関数 $lockkey = 0; # ロックファイル名 $lockfile = './lock/aska.lock'; # メール通知機能 # 0 : 通知しない # 1 : 通知する → 自分の投稿記事も通知する # 2 : 通知する → 自分の投稿記事は通知しない $mailing = 0; # メールソフト種類(メール通知する場合) # 1 : sendmail (UNIX) # 2 : blatj (NT) $prog_type = 1; # メールソフトのパス(メール通知する場合) # → sendmailの例: /usr/lib/sendmail # → blatjの例: c:\www\mail\blatj.exe $mailprog = '/usr/lib/sendmail'; # メール通知先アドレス(メール通知する場合) $mailto = 'xxx@xxx.xxx'; # タグ広告挿入オプション (FreeWebなど) # → の代わりに「広告タグ」を挿入する。 # → 広告タグ以外に、MIDIタグ や LimeCounter等のタグにも使用可能です。 $banner1 = ''; # 表示部上部に挿入 $banner2 = ''; # 表示部下部に挿入 # アクセス制限(ホスト名を記述) @deny = ( "anonymizer.com", "cache*.*.interlog.com", "", "", "", "", "", "", "" ); # 記事の更新は method=POST 限定 (0=no 1=yes) # (セキュリティ対策) $MethPost = 1; # 同一IPアドレスからの連続投稿時間(秒数) # --> 連続投稿などの荒らし対策 # --> 値を 0 にするとこの機能は無効になります $wait = 90; #============# # 設定完了 # #============# &decode; &axs_check; if ($mode eq 'regist') { ®ist; } elsif ($mode eq 'find') { &find; } elsif ($mode eq 'howto') { &howto; } elsif ($mode eq 'admin') { &admin; } elsif ($mode eq 'usrdel') { &usrdel; } elsif ($mode eq 'check') { ✓ } &html; #----------------# # アクセス制限 # #----------------# sub axs_check { # ホスト名を取得 &get_host; local($flag)=0; foreach (@deny) { if (!$_) { next; } s/\*/\.\*/g; if ($host =~ /$_/i) { $flag=1; last; } } if ($flag) { &error("アクセスを許可されていません"); } } #----------------# # 記事表示処理 # #----------------# sub html { local($flag,$no,$date,$name,$mail,$sub,$com,$url, $host,$pw,$r_sub,$r_com,$start,$end,$next_page,$back_page); # ブラウザ情報を取得 &get_agent; # クッキー情報を取得 &get_cookie; # レス処理 if ($mode eq 'resmsg') { open(IN,"$logfile") || &error("Open Error : $logfile"); $flag=0; while (\n" if ($banner1 ne "");
# タイトル
if ($ImgT) {
print "\n";
} else {
print "$title\n";
}
print <<"EOM";
$com$url
| \n"; } if ($next_page < $i) { print " | \n"; } print " |
| \n"; print " |
\n"; print "- Aska BBS -\n"; print "