>荒らしやら人が来るようになった時まで様子見してみます。
そうですね(笑
上にあった(ありました)リンク辿ってちょっとソース読んでみたんだけど、
2つのファイルをチェックに2回、記録に2回で計4回開いてた。
記録時には上書きモードで開いてるからこの時点で0バイトファイルに
なっちゃいます。その所為かな?
でも、「同一内容」で「同一時間」なのか。ワカラン。
で、チェック方法は、
ログに書き込む直前にチェックすれば、1ファイル1回で済むと思うんだけど。
sub reschk {
open RCK,"+< $bbspath/$folder/rescheck.dat" or return;
flock RCK,2 or die $!;
my ($time,$host,$res) = split(/\t/,<RCK>);
if ($r_h eq $host and $nowtime - $time < $restime){
close RCK and &error("同一ほすとからの書込は$restime秒以上間を開けてえな");
}
if ($comm eq $res){
close RCK and &error('同一内容の連続れすはできへんでえ');
}
truncate RCK,0; seek RCK,0,0;
print RCK "$nowtime\t$r_h\t$comm";
close RCK;
}
エラーになっちゃった人の分は新たに書き込まないので、
何度も罠に掛からずに済みます…。