#!/usr/bin/perl #┌───────────────────────────────── #│ Sun Board v3.7 (2004/09/02) #│ Copyright (c) KentWeb #│ webmaster@kent-web.com #│ http://www.kent-web.com/ #└───────────────────────────────── $ver = 'Sun Board v3.7'; #┌───────────────────────────────── #│ [注意事項] #│ 1. このスクリプトはフリーソフトです。このスクリプトを使用した #│ いかなる損害に対して作者は一切の責任を負いません。 #│ 2. 設置に関する質問はサポート掲示板にお願いいたします。 #│ 直接メールによる質問は一切お受けいたしておりません。 #└───────────────────────────────── # # [ 設置例 ] # # public_html / index.html (トップページ) # | # +-- sunbbs / sunbbs.cgi [705] # | sunbbslog.cgi [606] # | index.html [606] # | index2.html [606] # | jcode.pl [604] # | pastno.dat [606] ... 過去ログ時 # | # +-- lock [707] / # | # +-- past [707] / 0001.dat [606] ... 過去ログ時 #------------------------------------------------- # ▼設定項目 #------------------------------------------------- # コード変換ライブラリ取込 require './jcode.pl'; # タイトル名 $title = "長崎女子高 入試情報"; # タイトルの色 $t_color = "#ff6699"; # タイトルのサイズ $t_size = '18px'; # 本文の文字サイズ $b_size = '18px'; # 壁紙 (http://から指定) $bg = ""; # 背景色 $bc = "#ffffff"; # 文字色 $tx = "#000000"; # リンク色 $lk = "#FF6699"; # 未訪問 $vl = "#FF6699"; # 訪問済 $al = "#ff6699"; # 訪問中 # 管理用パスワード(英数字) $pass = '7770'; # 戻り先 (index.htmlなど) $home = "http://www.kakumei.ac.jp/high_school/index.html"; # 記事の最大保持数 $max = 40; # 表示ファイル第1ページの記事数 $pagelog = 5; # 自動リンク (0=no 1=yes) $autolink = 1; # CGIスクリプト自身をURLで指定 $script = 'http://www.kakumei.ac.jp/high_school/cgi-bin/sunbbs-n/sunbbs.cgi'; # 表示ファイル(index.html)のあるディレクトリをURLで指定 # → 最後は / で閉じる $htm_url = 'http://www.kakumei.ac.jp/high_school/cgi-bin/sunbbs-n/'; # 表示ファイル(index.html)のあるディレクトリをサーバパスで指定 # → 最後は / で閉じる # → フルパスなら / から始まるパス(http://からではない) $htm_dir = './'; # 新着情報ボードモード (0=no 1=yes) # → 書き込みは管理者限定となります $whatsnew = 1; # 題名部の色 $obi_color = "#ff6699"; # 題名部ポインタ $point = '■'; # 戻り先部ポインタ $point2 = '▲'; # ポインタの色 $p_color = "#0000ff"; # 題名の色 $s_color = "#0000ff"; # タイトルGIF画像 (http://から記述) $t_gif = ""; # タイトル画像の大きさ $tg_w = 250; # 横幅 $tg_h = 54; # 高さ # ログファイル名 # → フルパスなら / から記述(http://からではない) $logfile = './sunbbslog.cgi'; # 表示ファイルHTML (第1ページ) # → ファイル名のみを記述 $htmfile = "index.html"; # 表示ファイルHTML (第2ページ) # → ファイル名のみを記述 $nexthtm = "index2.html"; # ロックファイル処理 # 0 : なし # 1 : あり(symlink関数) # 2 : あり(mkdir関数) $lockkey = 1; # ロックファイル名 $lockfile = './lock/sunbbs.lock'; # ブラウザのキャッシュ取込を拒否 (0=no 1=yes) $nocashe = 1; # 投稿後に内容確認画面を表示 (0=no 1=yes) $msg_check = 1; # 投稿があるとメール通知する (0=no 1=yes) $mailing = 0; # メールアドレス(メール通知する時) $mailto = 'xxx@xxx.xxx'; # sendmailパス(メール通知する時) $sendmail = '/usr/lib/sendmail'; ## --- 管理者コメント(タイトル下部にちょっとしたコメントを表示できます) $message = <<"END_OF_MSG"; END_OF_MSG # ホスト取得方法 # 0 : gethostbyaddr関数を使わない # 1 : gethostbyaddr関数を使う $gethostbyaddr = 0; # 投稿アクセス制限(半角スペースで区切る) # → 拒否するホスト名又はIPアドレスを記述(アスタリスク可) # → 記述例 $deny = '*.anonymizer.com 211.154.120.*'; $deny = ''; #---(以下は「過去ログ」機能を使用する場合の設定です)---# # # 過去ログ生成 (0=no 1=yes) $pastkey = 0; # 過去ログ用NOファイル $nofile = './pastno.dat'; # 過去ログのディレクトリ # → フルパスなら / から記述(http://からではない) # → 最後は必ず / で閉じる $pastdir = './past/'; # 過去ログ1ファイルの行数 # → この行数を超えると次ページを自動生成します $log_line = 300; #------------------------------------------------- # ▲設定完了 #------------------------------------------------- &decode; if ($mode eq 'regist') { ®ist; } elsif ($mode eq 'form') { &form; } elsif ($mode eq 'find') { &find; } elsif ($mode eq 'admin') { &admin; } elsif ($mode eq 'mente') { &mente; } elsif ($mode eq 'edit') { &edit; } elsif ($mode eq 'userdel') { &userdel; } elsif ($mode eq "past" && $pastkey) { &past; } elsif ($mode eq "check") { ✓ } &location; #------------------------------------------------- # アクセス制限 #------------------------------------------------- sub axscheck { # アクセスチェック local($flag)=0; foreach ( split(/\s+/, $deny) ) { s/\./\\\./g; s/\*/\.\*/g; s/\?/\.\?/g; if ($host =~ /$_/i || $addr =~ /$_/i) { $flag=1; last; } } if ($flag) { &error("アクセスを許可されていません"); } } #------------------------------------------------- # 投稿フォーム #------------------------------------------------- sub form { local($res_sub,$res_com,$date,$next,$back,$last,$i,$cnam,$ceml,$curl,$cpwd); # ホスト名チェック if (!$whatsnew) { &get_host; &axscheck; } print &header; print "[戻る]\n"; print "