記事No | : 13411 |
投稿日 | : 2014/10/24(Fri) 15:32:12 |
タイトル | : Message Enqの連続投稿制限について |
ID情報 | : halsugar |
投稿者 | : horikawa |
URL | : http://haroworld/cool-biz.net |
Message Enqにて、同一IPアドレスからの連続投稿を3回までにしたいと思い、init.cgiでcf{ipmax}=3としていますが、連続投稿ができません。どこを修正したら連続投稿3回にできるのでしょうか?
記事No | : 13413 |
投稿日 | : 2014/10/24(Fri) 18:25:01 |
タイトル | : Re: Message Enqの連続投稿制限について |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
cf{ipmax}=3 に設定したということは、
連続投稿が3回までできるということではなく、
過去3回の投稿で1回でも投稿していたら拒否されるという設定だと思います。
連続3回まで投稿できるようにするには、msgenq.cgiの以下の部分を(204行目あたり)、
my $match;
my $new_top = "$addr ";
my $i = 0;
foreach ( split(/\s+/, $top) ) {
$i++;
if ($cf{ipmax} && $addr eq $_) {
$match = 1;
last;
}
if ($i < $cf{ipmax}) { $new_top .= "$_ "; }
}
if ($match) {
close(DAT);
&error("連続投票はできません");
}
以下のようにすれば可能だと思います。
my $match = 0;
my $new_top = "$addr ";
my $i = 0;
foreach ( split(/\s+/, $top) ) {
$i++;
if ($cf{ipmax} && $addr eq $_) {
$match++;
#last;
}
if ($i < $cf{ipmax}) { $new_top .= "$_ "; }
}
if ($match >= $cf{ipmax}) {
close(DAT);
&error("連続$cf{ipmax}回までしか投票はできません");
}
記事No | : 13416 |
投稿日 | : 2014/10/24(Fri) 22:09:54 |
タイトル | : Re^2: Message Enqの連続投稿制限について |
ID情報 | : halsugar |
投稿者 | : horikawa |
URL | : http://haroworld/cool-biz.net |
> cf{ipmax}=3 に設定したということは、
> 連続投稿が3回までできるということではなく、
> 過去3回の投稿で1回でも投稿していたら拒否されるという設定だと思います。
> 以下のようにすれば可能だと思います。
うまくいきました。ありがとうございました。