#!/usr/local/bin/perl ## WEB FORUM v2.64 (00/05/31) ## Copyright(C) KENT WEB 2000 ## E-MAIL: webmaster@kent-web.com ## WWW: http://www.kent-web.com/ $ver = 'Web Forum v2.64'; # バージョン情報 #--- [注意事項] ------------------------------------------------# # 1. このスクリプトはフリーソフトです。このスクリプトを使用した # # いかなる損害に対して作者は一切の責任を負いません。 # # 2. 設置に関する質問はサポート掲示板にお願いいたします。 # # 直接メールによる質問は一切お受けいたしておりません。 # #---------------------------------------------------------------# # [設置例] かっこ内はパーミッション # # public_html / index.html (ホームページ) # | # +-- bbs [777] / wforum.cgi [755] # wforum.log [666] # wf_admin.cgi [755] # jcode.pl [644] # fold.pl [644] # index.html # index.cgi [755] .. (過去ログ用) # 1.html [666] .. (過去ログ用) # pastno.dat [666] .. (過去ログ用) #============# # 基本設定 # #============# # ライブラリ取込み require './jcode.pl'; require './fold.pl'; # 掲示板タイトル名 $title = "Web Forum"; # タイトルの色 $t_color = "#004080"; # タイトルの大きさ(ポイント数:スタイルシート) $t_point = '18'; # タイトル文字のタイプ $t_face = 'MS Pゴシック'; # タイトル画像を使用するとき $t_gif = "./title.gif"; $t_wid = 199; # 画像の横サイズ(ピクセル) $t_hgt = 33; # 画像の縦サイズ(ピクセル) # 本文の文字大きさ(ポイント数:スタイルシート) $pt = '10'; # 最大記事数 $max = 100; # 戻り先のURL(index.htmlなど) $home = "../index.html"; # 説明ページ $howto = "./index.html"; # 壁紙・背景色・文字色など $bground = ""; # 壁紙の指定 $bgcolor = "#F1F1F1"; # テキスト色 $text = "#004080"; # 文字色 $link = "#0000E3"; # リンク色(未訪問) $vlink = "#008080"; # リンク色(既訪問) $alink = "#DD0000"; # リンク色(訪問中) # 管理ファイル $admin = "./wf_admin.cgi"; # スクリプト名 $script = "./wforum.cgi"; # ログファイル名 $logfile = "./wforum.log"; # タグの許可 (0=no 1=yes) $tagkey = 0; # ロックファイル機構 # 0 : no # 1 : yes : symlink関数 # 2 : yes : open関数 $lockkey = 0; # ロックファイル名 # ---> このディレクトリのパーミッションは777にすること $lockfile = "./wforum.lock"; # URL自動リンク (0=no 1=yes) $autolink = 1; # 記事の [題名] の色 $sub_color = "#DD0000"; # 記事下地の色(一括表示時等) $tbl_color = "#FFFFFF"; # 記事にNEWマークを付ける時間 $new_time = 48; # NEWマークの色 $new_color = "#FF80FF"; # 記事NOの色 $no_color = "#800000"; # 新着記事一括の記事数 $sortcnt = 10; # 頁あたりツリー表示数 $p_tree = 10; # リストに表示する「記事タイトル」の長さ(文字数:半角文字換算) $sub_length = 32; # メールアドレスの入力を必須 (0=no 1=yes) $in_email = 0; # レスがついたらツリー毎トップへ移動 (0=no 1=yes) $top_sort = 1; # 引用部色変更 # 1) ここに色指定を行うと「引用部」を色変更します # (その分表示動作が遅くなります) # 2) 必ずタグは禁止処理にしてください ($tagkey=1;) # 3) この機能を使用しない場合は何も記述しないで下さい ($refcolor="";) $refcolor = "#804000"; # methodの形式 (POST/GET) $method = 'POST'; # 投稿があるとメール通知する : sendmail必須 # 0 : 通知しない # 1 : 通知する(自分の記事は送信しない) # 2 : 通知する(自分の記事も送信する) $mailing = 0; # メール通知する際のメールアドレス $mailto = 'xxx@xxx.xxx'; # sendmailパス(メール通知する時) $sendmail = '/usr/lib/sendmail'; # ツリーのヘッダー $treehead = "★"; # ホスト名取得モード # --> 0 : $ENV{'REMOTE_HOST'} で取得できる場合 # --> 1 : gethostbyaddr で取得できる場合 $get_remotehost = 0; # 過去ログ機能 (0=no 1=yes) $pastkey = 0; # 過去ログ用補助ファイル $hojofile = "./index.cgi"; # 過去ログカウントファイル $past_num = "./pastno.dat"; # 過去ログのディレクトリ $past_dir = "."; # 過去ログ1ページ当りの最大行数 $max_line = 170; # アクセス制限(ホスト名を記述) @deny = ( '*.hogehoge.ne.jp', 'xxx.proxy.com', '', '', '', '', ''); #============# # 設定完了 # #============# # bodyタグの定義 $body = "
\n"; # ////////// 基本処理 ///////////////////////////////// # &decode; &axs_check; if ($mode eq "regist") { ®ist; } elsif ($mode eq "form" && $in{'pview'} eq "on") { &preview; } elsif ($mode eq "form" && $in{'pview'} ne "on") { ®ist; } elsif ($mode eq "msgview") { &msgview; } elsif ($mode eq "allread") { &allread; } elsif ($mode eq "new_sort") { &new_sort; } elsif ($mode eq "usr_del") { &usr_del; } elsif ($mode eq "find") { &find; } &list_view; #----------------# # アクセス制限 # #----------------# sub axs_check { if ($deny[0]) { # ホスト名を取得 &get_host; $h_flag=0; foreach (@deny) { if ($_ eq '') { last; } $_ =~ s/\*/\.\*/g; if ($host =~ /$_/) { $h_flag=1; last; } } if ($h_flag) { # エラー表示 &header; print "あなたと同一のホストの方が過去不適切な発言を行ったため