【スレ立て規制】 mesh だけ規制強化する?
■ このスレッドは過去ログ倉庫に格納されています
http://qb5.2ch.net/test/read.cgi/operate/1086828595/121
121 : ◆BDFCNV1.to :04/06/11 17:02 ID:CbRggP3Q
この板にスレッド立てて徹底的に話し合ったほうがいいと思う
【スレ立て規制】 mesh だけ規制強化する?
みたいな感じかな、 スレ立ての規制だけなの?
書き込めもしないとか無いよな うーん、スレタイがちょっと・・・
それともこういう議論が欲しかったのかな・・
>>61
よかった
じゃあどんどんやってくれていいよ たたき台にでも。。。ペシペシ
http://baila6.jp/misc/tatesugi00.txt
特定リモホでもチェックできるような雰囲気に。 >>65
●を完全にスルーするのはまずいのでは……。 ocn だとか mesh が動向じゃ無く
トリップのように何かを発生させて
結構かぶるようにしておいて
それを記録しスレ立て規制に使うとか、 >>65
bbtec.comとplala.ne.jpってどこのプロバイダなのか知りたい (誤)
#'bbtec.com', 4,
#'odn.ne.jp', 4,
#'plala.ne.jp', 4,
(正)
#'bbtec.net', 4,
#'odn.ad.jp', 4,
#'plala.or.jp', 4,
>>72
あと、IPアドレスは下位から使った方がバラけかたがいいかも(←あまり根拠なし)。
else {
# 投稿者の IP アドレスを加工しておく。
$IP_Address = s/^\d+\.\d+\.//;
if ($FORM{sid}) {
# ●の場合: リストにSIDが存在すればアウト
for (@Deny) {
return 1 if $IP_Address eq (split /,/)[1];
}
} else {
# リストにIPアドレスがあればアウト
for (@Deny) {
return 1 if $IP_Address eq (split /,/)[0];
}
}
# スルーなのでスレ立て規制リストに登録
unshift @deny, sprintf qq|%s,%s,%s\n|, $IP_Address, $FORM{sid}, $FORM{key};
splice @deny, $SETTING{'BBS_THREAD_TATESUGI'};
} >>68
ふむふむ。。。
たとえば。
IP アドレスが aaa.bbb.ccc.ddd であるとき。
記録するのは、aaa+bbb の値にする。
かーなーり引っかかるかもです(笑)
>>69-70
ぎくっ(汗)なおしましたm(_ _)m
>>73
ではあとはおながいします(笑)
>>74
●の部分は元の泥縄形式にしてみました。
IP の部分はちょと留保中。(>>68 関連) ををっと、★は完全スルーですよね?
$flag == 9 だったかしら。。。 ちと コードなにも見ないで発言しますが
if(meshだったら) とか
つまりは特定の分岐を作るのは美しくないです
コード的にもいまいちだし、特定のISPに対して特別なしょりをするのは
ポリティカルな部分でも美しくないです ← つまりやらない
しかしながら数年の歳月が経ち、現状に合わなくなっているのも
事実だと思います。
>>76
書いたコードへはリンクでいいですけど
その設計思想は、ここに文字で書いて欲しいでーす
そっちの方が重要だから スレ立てなんか滅多にしないし立てられないときは他の人に任せちゃうし
そもそもニュー速で遊ばないから実害は無いけど、
ほかの板にまで波及しちゃったりすると嫌だなと思う。
過去に複数プロバを使える環境があったので
スレ立て依頼を利用して実験したことがあるけど
meshやdionなんかよりIIJとかhi-hoとかの方がよっぽど立てやすかったよ。
データとかちゃんと取って残しておけば良かったな。 >>79
はげどー。後でいじる必要が出てきて、その条件が多岐に渡ったら
非常に見づらくなるしね。 >>76
> ●の部分は元の泥縄形式にしてみました。
えーと、この↓部分のことですか?
>>31
> if($FLAG > 7){
> if($JIP < 8){
> }elsif(($SIP / $JIP) > 0.25 || $SIP > 64){
> DispError("ERROR!","このホストでは、しばらくスレッドが立てられません。<br>またの機会にどうぞ。。。");
> }
ここは★スルー部分じゃないでしょうか。
>>4
> if($FLAG == 5){
> $TIP = $FORM{'sid'};
> $TIP =~ s/\W/\\$&/g;
を見るに、●の時は$FLAG==5のようですから……。 >>79
前半の部分は大いに賛同するです。ってことでその部分を反映したものを。
http://baila6.jp/misc/tatesugi01.txt
そしてその設計思想は。。。
IP アドレスの上位 2 数字を掛け合わせてトリップみたいで且つ、結構かぶりやすい数字を生成してみました。
理論上全部で 65025 通り。
レンジがかなり変化する ISP の IP アドレスでもそれなりの効果が出るかと思います。
また、 0 の出現率もかなり低いかと思いますのでこの方法にしてみました。
● ★ の扱いについては、実のところ詳細を理解していないのであやふやかと思います。
このあたりを指摘、および指示をいただけるとありがたいです。
・移行する場合の注意点
現状のリストとは互換性がないので投入時にはリセット状態になるかと思います。(ただし故意にリセットする必要はない)
また、バランスが以前のものとは異質なものになるかと思いますので、BBS_THREAD_TATESUGI値の調整が必須かと思われます。 ●★の扱いは、>>31をみるに、★は数量的緩和(普通なら一発アウトのところを
全体の25%以上または65個以上ならアウト)、●の方は単純にホストの代わりに
SIDで判定、★+●なら両方の効果が合わさる、かと。
$SIP = grep(/$TIP/, @ZIP);# ヒット件数 (●ならSID、それ以外はホストで判定)
$JIP = (@ZIP)? @ZIP: 1;# ログ件数
if($FLAG > 7){
# ★の場合?
if($JIP < 8){
# ログが8件未満: 規制なし
}elsif(($SIP / $JIP) > 0.25 || $SIP > 64){
# ログ全体の25%以上or65件以上ヒットしたら
DispError("ERROR!","このホストでは、しばらくスレッドが立てられません。<br>またの機会にどうぞ。。。");
}
}elsif($SIP){
# 一般: 1件でもヒットしたら
DispError("ERROR!","このホストでは、しばらくスレッドが立てられません。<br>またの機会にどうぞ。。。");
}elsif($HIP){
# 範囲を広げて再判定(デッドコードのような気が……)
$SIP = grep(/$HIP$/, @ZIP);
if($SIP > ($JIP / 16) + 1 || $SIP > 32){
DispError("ERROR!","このホストでは、しばらくスレッドが立てられません。<br>またの機会にどうぞ。。。");
}
} >>84
詳解ありがとうですm(_ _)m深々
このあたりのさじ加減も改訂の余地があるのかな? ホントむかつく
あんな糞馬鹿どもがスレ建てれてなんで俺様が一度も建てられないのかと スレ立てでは携帯固有IDはチェックしてないんですか? このへんで 500 error になるっす
実行されなくても、このルーチンが bbs.cgi にあるだけで 500 error になる
# ●
#if ($FORM{sid}) {
#my $count_sid = grep { /\Q$FORM{sid}\E/ } @Deny;
#return 1 if @Deny and ($count_sid / @Deny > .25 or $count_sid > 64); # ●スレ立て大杉
#push @diff_list, sprintf qq|%s,%s,%d\n|, $IP_number, $FORM{sid}, $FORM{key};
#}
# IP アドレスで処理
else {
# リストから検索。存在すれば 1 を返してばいばい。
foreach (@Deny){
return 1 if $IP_number == (split /,/)[0];
}
push @diff_list, sprintf qq|%s,%s,%d\n|, $IP_number, $FORM{sid}, $FORM{key};
}
# スルーなのでスレ立て規制リストに登録
if (@diff_list) {
unshift @deny, @diff_list;
splice @deny, $SETTING{'BBS_THREAD_TATESUGI'};
# スレ立て規制リストの更新
open Deny_list, '>', "$ripfile.tmp"; # 一時ファイルに書き出し
print Deny_list join '', @deny;
close Deny_list;
rename "$ripfile.tmp", $ripfile; # ファイル名を元に戻す0
}
>97
else{がおかしーのでわ。
って直前のifがけされちゃっとる、 >>99
そのへんは中途のをここにはったからです
どうもこの行を嫌っているらしい
コメントアウトすると動く < bbs.cgi
push @diff_list, sprintf qq|%s,%s,%d\n|, $IP_number, $FORM{sid}, $FORM{key};
つまり、
perl君の脳ミソ、↓
<命令>
#もし$FORM{sid}があれば以下の処理してね。(←これがこめんとあうと=削除されてる、つまりperl君ここ読んでない
それ以外ならこの処理してね。
<命令ここまで>
↓
それ以外ってなんじゃぼけー。 >100
あれ、そーなんですか。そら失礼〜、
その文章がなければ大丈夫なんですかー? sprintfを括弧でくくって
push @diff_list, sprintf(qq|%s,%s,%d\n|, $IP_number, $FORM{sid}, $FORM{key});
にするとか。意味ない? bbs.cgiってuse strictしてるんですよね。。。
確か、 @diff_list これが問題のような、、、
my @def_list; の間違え? @def_list(23行目) と
@diff_list(29,38行目) では。 23行目
my @diff_list; が正しいような気がしまーす。
#43行目にもあった・・・ my @diff_list; にすれば動くのかも。。。 ここも @deny -> @Deny にしてみた
if (@diff_list) {
unshift @Deny, @diff_list;
splice @Deny, $SETTING{'BBS_THREAD_TATESUGI'};
# スレ立て規制リストの更新
open Deny_list, '>', "$ripfile.tmp"; # 一時ファイルに書き出し
print Deny_list join '', @Deny;
close Deny_list;
rename "$ripfile.tmp", $ripfile; # ファイル名を元に戻す0
} bbs.cgi に入れることに成功した
んじゃ 実際に呼んでみよう。。。 オラ、なんだかすっごくワクワクしてきたぞ(AAry なんとなく error はでないようだから
news13 に投入してみる >>121
あ、、、運用(金)でやったんすね・・・。((;´Д`) ご報告お待ちしております…
=≡= ∧_∧
/ (・∀・ )
〆 ┌ | | .∈≡∋
|| γ ⌒ヽヽコノ ||
|| .| |:::|∪〓 ||
./|\人 _.ノノ _||_. /|\
>>2
>meshのダイヤルアップの場合、接続し直すと、
>スレ立て規制を免れるということらしい・・・
ダイアルアップ(固定電話&PIAFS) [D|C|N]nnnnnnnnnDS**.XXX.mesh.ad.jp DS\d+\..{3}\.mesh\.ad\.jp
実際のスレ立て
フレッツADSL FLA*******.XXX.mesh.ad.jp FLA.{7}\.XXX\.mesh\.ad\.jp
他のフレッツもやったら? >>132
いや、今回の改造は個別のispへの対応じゃなくて、
スレ立て規制のルーチンを根本から見直してますので、、 うんうん。meshだけを規制したいならー、
単にmeshの時はRIP.cgiにmeshとだけぶっこんでおけばE話。 すんません、色々試したいんで
180秒規制解いてくれ そういえば立てられないってのもおかしいような気がするなぁ。
このルーチンに変わったら一旦スレ立て規制がフリーになるはずなのに(たぶん)。
このルーチンに変わってから1つもスレ立ってないよね? 今度は、ニュー速のスレ立て規制値のために、
スレを立てれなくなるひとが続出とか・・・
BBS_THREAD_TATESUGI=1024 >>145
どのHOSTからも立てられなかったりしてw 俺が立てようとして、規制されちゃったらこれは失敗だったってことかな? >>144
自治スレで何をどう試すのか具体的に書いてお願いして見れ。 呼び出し部を
$FORM{'subject'} and Check_SURETATE and DispError("ERROR!","新このホストでは、しばらくスレッドが立てられません。<br>またの機会にどうぞ。。。");
にしてみた
■ このスレッドは過去ログ倉庫に格納されています