#!/usr/bin/perl $ver = "Stan-BB ver 1.51"; $web = "http://paxs.hp.infoseek.co.jp/"; #┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ #┃Standard Bulletin Board ver 1.51 (2004/01/14) #┃Copyright(C) 2002-2003 9TST4. All Rights Reserved. #┃URL:http://paxs.hp.infoseek.co.jp/ #┃E-mail:axs@cocoa.freemail.ne.jp #┃Web Master:高見将智(Masatomo Takami) #┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ #┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ #┃基本設定(全掲示板共通) #┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ #┌───────────────────────────────────────────────────────┐ #│ID設定 #├───────────────────────────────────────────────────────┤ #│●"ID" => "IDディレクトリ"の形で指定して、複数ある時は「,」で区切って下さい。 #│●IDディレクトリは必ず「/」で閉じて下さい。 #│●IDとIDディレクトリは分かりやすい名前を自由に設定して構いません。(注:半角英数字) #│●IDとIDディレクトリはなるべく別の名前にして下さい。 #│●実際に掲示板を新しく作るときの手順は解説ページを参考にして下さい。 #└───────────────────────────────────────────────────────┘ %BBS = ( "info" => "./dir/", "ID名2" => "./IDディレクトリ2/", "ID名3" => "./IDディレクトリ3/", ); #┌───────────────────────────────────────────────────────┐ #│メインスクリプト(変更非推奨) #└───────────────────────────────────────────────────────┘ $stan = "stan.cgi"; #┌───────────────────────────────────────────────────────┐ #│設定ファイル(変更非推奨) #└───────────────────────────────────────────────────────┘ $set = "set.cgi"; #┌───────────────────────────────────────────────────────┐ #│サブディレクトリ(変更非推奨) #└───────────────────────────────────────────────────────┘ $subdir = "./sub/"; # 基本設定 終了 /////////////////////////////////////////////////////////////////////////////////////////////////# #┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ #┃デコード #┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ require "${subdir}jcode.pl"; $ptflag = 0; if ($ENV{'REQUEST_METHOD'} eq "POST") { read (STDIN, $date, $ENV{'CONTENT_LENGTH'}); $ptflag = 1; }else{ $date = $ENV{'QUERY_STRING'}; } if ($datesize and ($datesize != $ENV{'CONTENT_LENGTH'})) { &error ("送信エラー"); } @FORMS = split(/&/, $date); foreach $value (@FORMS) { ($key, $val) = split(/=/, $value); $val =~ tr/+/ /; $val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; &jcode'convert(*val,'sjis','','z'); $val =~ s/&/&/g; $val =~ s/"/"/g; $val =~ s//>/g; #コメントのみ改行処理 if ($key eq "acome") { $val =~ s/\r\n/
/g; $val =~ s/\r/
/g; $val =~ s/\n/
/g; } $FORMS{$key} = $val; } #変数定義 $id = $FORMS{'id'}; #ID $m = $FORMS{'m'}; #モード $p = $FORMS{'p'}; #ページ $r = $FORMS{'r'}; #ルート $n = $FORMS{'n'}; #記事No $a = $FORMS{'a'}; #アクション $c = $FORMS{'c'}; #階層 $sword = $FORMS{'sword'}; #検索語句 $sitem = $FORMS{'sitem'}; #検索項目 $stype = $FORMS{'stype'}; #検索方式 $sword2 = $FORMS{'sword'}; #検索窓専用 #設定ファイルの定義 if ($id) { $rqset = $BBS{"$id"}.$set; unless (-e $rqset) { &error ("ページが見つかりません"); } else { require "$rqset"; } } else { &error ("ページが見つかりません"); } @VIEW = qw(frm tre nml); #表示モード #モード分岐 if ($m eq "pch"){ &pch; } #パスチェック if (!$m) { if ($def == 0) { require "${subdir}forum.pl"; } #フォーラム表示 elsif ($def == 1){ require "${subdir}tree.pl"; } #ツリー表示 elsif ($def == 2){ require "${subdir}nomal.pl"; } #一覧表示 } elsif ($m eq "frm"){ require "${subdir}forum.pl"; } #フォーラム表示 elsif ($m eq "tre"){ require "${subdir}tree.pl"; } #ツリー表示 elsif ($m eq "nml"){ require "${subdir}nomal.pl"; } #一覧表示 elsif ($m eq "fri"){ require "${subdir}forum.pl"; } #フォーラム展開 elsif ($m eq "tri"){ require "${subdir}tree.pl"; } #ツリー展開 elsif ($m eq "viw"){ require "${subdir}thread.pl"; } #トピック展開 elsif ($m eq "nwp"){ require "${subdir}form.pl"; } #新規フォーム elsif ($m eq "res"){ require "${subdir}form.pl"; } #返信フォーム elsif ($m eq "quo"){ require "${subdir}form.pl"; } #引用フォーム elsif ($m eq "edt"){ require "${subdir}form.pl"; } #編集フォーム elsif ($m eq "rnk"){ require "${subdir}rank.pl"; } #ランキング elsif ($m eq "pst") { require "${subdir}past.pl"; } #過去ログ リスト elsif ($m eq "pvw") { require "${subdir}past.pl"; } #過去ログ 閲覧 elsif ($m eq "nwl"){ require "${subdir}submit.pl"; } #新規・返信更新 elsif ($m eq "rel"){ require "${subdir}relog.pl"; } #編集更新 elsif ($m eq "del"){ require "${subdir}delog.pl"; } #削除更新 elsif ($m eq "sch") { require "${subdir}search.pl"; } #検索 else { &error("ページが見つかりません1"); } #┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ #┃パスチェック #┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ sub pch { if (!$ed_key) { $edfont = "・記事編集機能\は管理者以外利用できません
"; } if (!$dl_key) { $dlfont = "・記事削除機能\は管理者以外利用できません
"; } if ($a eq "nwp") { $m = "nwp"; } if ($a eq "edt") { $m = "edt"; } if ($a eq "del") { $m = "del"; } require "${subdir}html.pl"; $hd_key = 1; #ヘッダーキー &head; print <

$edfont $dlfont

・・・・・・・・・ パスワードを入力して下さい ・・・・・・・・・

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・


EOF &foot; } #┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ #┃エラー #┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ sub error{ print "Content-type:text/html\n\n"; print < $_[0]

Error!

$_[0]

EOF exit; } 1;