掲示板のスパム投稿対策(連続投稿禁止情報の共有)

きまっし金沢関連のサイトでは掲示板はkent-webのYY-BOARDを利用してます。多くのサイトで使われているだけにスパム投稿に狙われる事も多いのが難点です。

スパム投稿対策として,YY-BOARD spam 対策改造を利用しています。これで自動投稿は防ぐことはできます。

きまっし金沢の関連サイトでは30個の掲示板を設置していますので、多くの掲示板に手動で1件ずつスパム投稿をしようとする例もあります。

基本的には投稿禁止IPを登録して全ての掲示板で禁止IPではアクセスできないようにしてますが,チェックできない時間の新たなIPでの投稿には対応できないという状態でした。
そういう訳でYY-BOARD spam 対策改造の同一IPアドレスの短時間での連続投稿禁止の機能を利用して,きまっし金沢関連の1つの掲示板に投稿した場合には一定時間たたないと他の掲示板にも投稿できないような制限を加えることが出来るように掲示板を改造してみました。実際に試してみましたが,なんとか動作しました。

まずは全ての掲示板のyyini.cgiを
# 制限投稿間隔(秒数)
# → $regCtl での投稿間隔
$wait = 120;
に設定します。
全ての掲示板のyybbs.cgiに
#IPファイルを開く
open(IN2,”$logfile2″) || &error(“Open Error: $logfile2″);
を設置します。
具体的には
local($no,$re,$dat,$nam,$eml,$sub,$com,$url,$hos,$pw,$col,$ico);
#IPファイルを開く
open(IN2,”$logfile2”) || &error(“Open Error: $logfile2″);
# 記事を展開
$i = 0;
$flag = 0;
open(IN,”$logfile”) || &error(“Open Error: $logfile”);
という具合です。
最後に全ての掲示板のyyregi.cgiを改造します。
まず
# IPログを開く
open(IN2,”$logfile2″) || &error(“Open Error: $logfile”);
@lines2 = ;
close(IN2);
# IPログのデータ書き出し
$top2 = shift(@lines2);
local($ip2,$tim2) = split(/<>/, $top2);
を追加します。
具体的には
# ファイルロック
if ($lockkey) { &lock; }
# IPログを開く
open(IN2,”$logfile2″) || &error(“Open Error: $logfile”);
@lines2 = ;
close(IN2);
# IPログのデータ取り出し
$top2 = shift(@lines2);
local($ip2,$tim2) = split(/<>/, $top2);
# ログを開く
open(IN,”$logfile”) || &error(“Open Error: $logfile”);
@lines = ;
close(IN);
# 記事NO処理
$top = shift(@lines);
local($no,$ip,$tim) = split(/<>/, $top);
$no++;
という具合です。
連続投稿チェックの引数を変更します。($ipを$ip2に,$timを$tim2に変更します)
具体的には
# 連続投稿チェック
$flag=0;
if ($regCtl == 1) {
if ($addr eq $ip2 && $times – $tim2 < $wait) { $flag=1; } } elsif ($regCtl == 2) { if ($times - $tim2 < $wait) { $flag=1; } } if ($flag) { &error("現在投稿制限中です。もうしばらくたってから投稿をお願いします"); } という具合です。 最後に# 親記事の場合中の#更新の後に(140行前後)に # IPログ更新 @new="$addr<>$times<>\n”;
open(OUT2,”>$logfile2″) || &error(“Write Error: $logfile2″);
print OUT2 @new;
close(OUT2);
を追加します(上記の\nは¥nの半角です)。
具体的には
# 過去ログ更新
if (@data > 0) { &pastlog(@data); }
# 更新
open(OUT,”>$logfile”) || &error(“Write Error: $logfile”);
print OUT @new;
close(OUT);
# IPログ更新
@new=”$addr<>$times<>\n”;
open(OUT2,”>$logfile2″) || &error(“Write Error: $logfile2”);
print OUT2 @new;
close(OUT2);
という具合です。(上記の\nは¥nの半角です)
yyregi.cgiの改造はわかりにくいので改造済みのファイルをダウンロードできるようにしました。

掲示板のスパム投稿対策(投稿禁止IPアドレスの登録)

2009年6月27日    投稿禁止IPアドレスの登録

きまっし金沢関連のサイトでは掲示板はkent-webのYY-BOARDを利用してます。多くのサイトで使われているだけにスパム投稿に狙われる事も多いのが難点です。

スパム投稿対策として,YY-BOARD spam 対策改造を利用しています。これで自動投稿は防ぐことはできます。

でも多くの掲示板に手動で1件ずつスパム投稿をしようとする例もあるので、投稿禁止IPアドレスの登録するBBSantispam-config.cgiというファイルを共通化して,1つのBBSantispam-config.cgiに投稿禁止IPアドレスの登録を行う事ですべての掲示板で投稿禁止IPアドレスでのアクセスを禁止することができるようにしました。

すべての掲示板のBBSantispam.pmの
my $DEFAULT_CONFIG = “./BBSantispam-config.cgi”;

my $DEFAULT_CONFIG = “/virtual/ID名/public_html/ドメイン名/フォルダ名/BBSantispam-config.cgi”;
に変更します。/virtual/ID名 のところはXREAでのフルパス(絶対パス)で,サーバーによって違うと思います。
XREAの場合はpublic_htmlの直下にあるindex.htmlのフルパスは
/virtual/userID/public_html/index.html
となります。
Perlの場合はmy $DEFAULT_CONFIG = “http://ドメイン名/フォルダ名/BBSantispam-config.cgi”;
という指定はできないようです。
これで ドメイン名/フォルダ名/に設置したBBSantispam-config.cgiに登録されたIPアドレスを変更するだけで,全ての掲示板にアクセスするIPアドレスを制限できます。

きまっし金沢関連のサイトでは掲示板はkent-webのYY-BOARDを利用してます。多くのサイトで使われているだけにスパム投稿に狙われる事も多いのが難点です。

スパム投稿対策として,YY-BOARD spam 対策改造を利用しています。これで自動投稿は防ぐことはできます。

2009年6月28日    連続投稿禁止情報の共有

きまっし金沢の関連サイトでは30個の掲示板を設置していますので、多くの掲示板に手動で1件ずつスパム投稿をしようとする例もあります。

基本的には投稿禁止IPを登録して全ての掲示板で禁止IPではアクセスできないようにしてますが,自分がチェックできない時間での新たなIPでの投稿には対応できないという状態でした。
そういう訳でYY-BOARD spam 対策改造の同一IPアドレスの短時間での連続投稿禁止の機能を利用して,きまっし金沢関連の1つの掲示板に投稿した場合には一定時間たたないと他の掲示板にも投稿できないような制限を加えることが出来るように掲示板を改造してみました。実際に試してみましたが,なんとか動作しました。

まずは全ての掲示板のyyini.cgiを
# 制限投稿間隔(秒数)
# → $regCtl での投稿間隔
$wait = 120;
に設定します。
全ての掲示板のyybbs.cgiに
#IPファイルを開く
open(IN2,”$logfile2″) || &error(“Open Error: $logfile2″);
を設置します。
具体的には
local($no,$re,$dat,$nam,$eml,$sub,$com,$url,$hos,$pw,$col,$ico);
#IPファイルを開く
open(IN2,”$logfile2”) || &error(“Open Error: $logfile2″);
# 記事を展開
$i = 0;
$flag = 0;
open(IN,”$logfile”) || &error(“Open Error: $logfile”);
という具合です。
最後に全ての掲示板のyyregi.cgiを改造します。
まず
# IPログを開く
open(IN2,”$logfile2″) || &error(“Open Error: $logfile”);
@lines2 = ;
close(IN2);
# IPログのデータ書き出し
$top2 = shift(@lines2);
local($ip2,$tim2) = split(/<>/, $top2);
を追加します。
具体的には
# ファイルロック
if ($lockkey) { &lock; }
# IPログを開く
open(IN2,”$logfile2″) || &error(“Open Error: $logfile”);
@lines2 = ;
close(IN2);
# IPログのデータ取り出し
$top2 = shift(@lines2);
local($ip2,$tim2) = split(/<>/, $top2);
# ログを開く
open(IN,”$logfile”) || &error(“Open Error: $logfile”);
@lines = ;
close(IN);
# 記事NO処理
$top = shift(@lines);
local($no,$ip,$tim) = split(/<>/, $top);
$no++;
という具合です。
連続投稿チェックの引数を変更します。($ipを$ip2に,$timを$tim2に変更します)
具体的には
# 連続投稿チェック
$flag=0;
if ($regCtl == 1) {
if ($addr eq $ip2 && $times – $tim2 < $wait) { $flag=1; }
} elsif ($regCtl == 2) {
if ($times – $tim2 < $wait) { $flag=1; }
}
if ($flag) {
&error(“現在投稿制限中です。もうしばらくたってから投稿をお願いします”);
}
という具合です。
最後に# 親記事の場合中の#更新の後に(140行前後)に
# IPログ更新
@new=”$addr<>$times<>\n”;
open(OUT2,”>$logfile2″) || &error(“Write Error: $logfile2″);
print OUT2 @new;
close(OUT2);
を追加します(上記の\nは¥nの半角です)。
具体的には
# 過去ログ更新
if (@data > 0) { &pastlog(@data); }
# 更新
open(OUT,”>$logfile”) || &error(“Write Error: $logfile”);
print OUT @new;
close(OUT);
# IPログ更新
@new=”$addr<>$times<>\n”;
open(OUT2,”>$logfile2″) || &error(“Write Error: $logfile2”);
print OUT2 @new;
close(OUT2);
という具合です。(上記の\nは¥nの半角です)
yyregi.cgiの改造はわかりにくいので改造済みのファイルをダウンロードできるようにしました。

2022年5月16日

2022/5/16(月) 00:00 ~ 09:00にコアサーバー(coreserver.jp) 最新・高速サーバーへの移転メンテナンスが行われました。
それ以降、CGIで動作している掲示板(YY-BOARD)が従来のバージョンが動作しなくなりました。
それに伴い、YY-BOARD spam 対策改造も利用できなくなりました。残念です。

2009年夏のバーゲン

県外の人のために金沢のバーゲン情報を掲載しておきます。

金沢フォーラス  7月1日スタート 7月28日まで
KOURINBO 109  7月1日~7月7日
めいてつエムザ 7月1日スタート
金沢百番街  6月25日~7月5日
香林坊大和 7月1日スタート
片町・竪町・香林坊など5タウン 7月1日スタート
ラブロ片町 7月1日~7月7日
アルプラザ金沢 7月2日スタート

アクセスカウンターを変えました

今までアクセスカウンターはXREAの無料カウンターを利用していたのですが,最近調子が悪くなかなか改善しないのでCGIのカウンターを利用することにしました。

3時間以内の同一IPをカウンターしないという事と,昨日,今日,総合アクセスの表示をするという事を満たすカウンターを探しました。

何種類か試してみたのですが,CMF(CounterMaterialFactory)のCmfCounter-TypeBというCGIを利用することにしました。
未使用のドメインの有効利用ということで金沢観光.comに設置しました。
金沢観光.comに単独でカウンターCGIだけを設置することによって,XREAのアクセス解析で金沢観光.comのリンク元を調べることで,すべてのページのおのおののアクセス数を知ることができるようになりました。

総合,今日,昨日のカウンターを表示させるには表示したいページに
<IMG SRC=”cmfcount2.cgiが設置されたアドレス/cmfcount2.cgi?all=a”>
<IMG SRC=”cmfcount2.cgiが設置されたアドレス/cmfcount2.cgi?day=a”>
<IMG SRC=”cmfcount2.cgiが設置されたアドレス/cmfcount2.cgi?yes=a”>
を挿入すれば良いですが,
総合アクセスだけ表示させるには表示したいページに
<IMG SRC=”cmfcount2.cgiが設置されたアドレス/cmfcount2.cgi?all=a”>
を挿入すれば良いです。
アクセス数の対象にはするけれどカウンターを表示させないページには
<IMG SRC=”cmfcount2.cgiが設置されたアドレス/cmfcount2.cgi?all=a” width=”1″ height=”1″>
を挿入すれば良いです。
カウンターの調子はなかなか良いです。

あばれ祭り(能登町宇出津)の日程など事前情報と実際の日程

今年は滋賀県の観光と,能登の祭りを重点課題にしているのですが,手始めに能登町宇出津のあばれ祭りに天気が良かったら行ってこようかと思ってます。

毎年7月の第一週の金曜日土曜日に開催されるようになっています。

日程の詳しいスケジュールなどの情報が得られないので,能都町のふるさと観光課に電話して聞きました。
駐車場は,案内があり,広さも十分にとってあり心配ないそうです。

スケジュールとしては,金曜日には夜の9時に港広場に集合して夜中の12時過ぎまでキリコの祭りが続くそうです。
土曜日は14:00から18:00まで時間差で各町からキリコが集まり,夜の9時から夜中3時頃までキリコ祭りが続き最後に八坂神社で壊されるということです。

夜の祭りは撮影が難しくて,何枚か撮って,その内1枚が良ければラッキーという感じですが,前回撮った古川祭の撮影条件が記憶にありません。
今回は,距離をマニュアルで無限大,ISOは800と400の両方で,絞り値を最開放のF3.5で撮影してみようと思います。シャッターはリモコンで三脚を使用です。
コンパクトカメラはISO400で2秒タイマー使うくらいしか設定できません。

2009年7月2日
あばれ祭りのもう少し具体的な日程がわかりました。
金曜日の朝8:00に白山神社と酒垂神社から神輿を担いで各町内を巡回。
午後にキリコが白山神社に集まる。
20:00に町役場前で花火があって21:00にキリコが役場前に集まり,松明(たいまつ)が燃える中 キリコの乱舞が行われて夜中にキリコが各町内に戻る。
土曜日の朝8:00に白山神社と酒垂神社の神輿を担いで各町内を巡回。
午後に各神輿が酒垂神社に集まり,18:00頃に酒垂神輿が漁港付近で海の中や火の中に放り込まれる。
21:00に酒垂神社から八坂神社へキリコが移動して乱舞,酒垂神輿も暴れながら八坂神社へ向い奉納。その後白山神輿も暴れながら八坂神社へ向い奉納。八坂神社では火の中へ神輿投げ込み。
夜中に八坂神社から各町内にキリコが戻る
今日,図書館から能登町の住宅地図を借りてきて,詳しい位置関係を把握しました。
日帰り湯,道の駅,グルメの情報も調べて準備万端です。

2009年7月3日
今朝の新聞に、あばれ祭の予定が掲載されてました。
金曜日
8:30~17:00   白山神輿(みこし)が各町内をまわる 
8:30~19:00   酒垂神輿(みこし)が各町内をまわる 
14:00~  各町内のキリコが町内を練りまわり18:30までに棚木海岸(白山神社方面)へ集結
20:00~21:00  花火大会(役場前)
21:00~22:30  キリコが白山神社から役場前の大松明に向けてキリコが集結し乱舞
24:00  各町内にキリコが帰還
土曜日
7:00~  酒垂神輿が各町内をまわり17:30に海へ 
8:00~22:00  白山神輿が各町内をまわる
21:00  酒垂神輿が梶川下流クライマックス
22:00  白山神輿が梶川下流クライマックス
22:00  酒垂神輿が梶川上流クライマックス
23:00  白山神輿が梶川上流クライマックス
23:00  酒垂神輿が八坂神社クライマックス
23:30  白山神輿が八坂神社クライマックス
23:30  酒垂神輿が八坂神社入宮
24:30  白山神輿が八坂神社入宮
14:00~18:30  各町内のキリコが酒垂神社に向けて移動する
21:00~22:20  酒垂神社から、八坂神社に向けてキリコが移動する
3:00   各町内にキリコが帰還しまつりが幕を閉じる
2009年7月5日
実際に行われた時間です。初日は毎年それほど遅れることは無いようですが、2日目は時間通り行われた事は無く、特に今年は日中に3時間ほど大雨が降ったせいもあり、最高のクライマックスである白山神輿の梶川上流クライマックスは2時間30分遅れました。
金曜日
8:30~17:00   白山神輿(みこし)が各町内をまわる 
8:30~19:00   酒垂神輿(みこし)が各町内をまわる 
14:00~  各町内のキリコが町内を練りまわり18:30までに棚木海岸(白山神社方面)へ集結
20:30~21:00  花火大会(役場前)
21:00~23:00  キリコが白山神社から役場前の大松明に向けてキリコが集結し乱舞
24:00  各町内にキリコが帰還
土曜日
7:00~  酒垂神輿が各町内をまわり18:30に海へ放り込み火もつける。 
8:00~24:00  白山神輿が各町内をまわる
21:00  キリコ出発合図の花火が1発
22:10  酒垂神輿が梶川下流クライマックス
23:00  酒垂神輿が梶川上流を通る。クライマックスは無し。
23:50  酒垂神輿が八坂神社クライマックス
24:30  酒垂神輿が八坂神社入宮
24:00  白山神輿が梶川下流クライマックス
1:30   白山神輿が梶川上流クライマックス(最大の見所)
2:00   白山神輿が八坂神社クライマックス
2:30   白山神輿が八坂神社入宮
14:00~18:30  各町内のキリコが酒垂神社に向けて移動する
21:00~2:00  酒垂神社付近から、八坂神社に向けてキリコが移動する
4:00   各町内にキリコが帰還しまつりが幕を閉じる
だいたい、こういう感じでした。一部の行事については実際に居合わせてないので前後の時間関係からの想像です。