【スレ立て規制】 mesh だけ規制強化する?
■ このスレッドは過去ログ倉庫に格納されています
http://qb5.2ch.net/test/read.cgi/operate/1086828595/121
121 : ◆BDFCNV1.to :04/06/11 17:02 ID:CbRggP3Q
この板にスレッド立てて徹底的に話し合ったほうがいいと思う
【スレ立て規制】 mesh だけ規制強化する?
みたいな感じかな、 ●餅でmeshだがいくらつなぎ直してもスレ立てられないよ。 現在の状況:
my $ripfile = $PATH . "内緒";
my (@IP, @IIP, $TIP);
if($FORM{'subject'} ne ""){
#スレッド立てすぎチェック
my (@IP, @IIP, @ZIP, $TIP, $VIP, $SIP, $JIP, $HIP);
$TIP = $HOST;
$TIP =~ s/<(.*)>//g;
$VIP = $TIP;
if($FLAG == 5){
$TIP = $FORM{'sid'};
$TIP =~ s/\W/\\$&/g;
}else{
my @ippart = split(/\./, $TIP);
$JIP = $ippart[0];
if($TIP !~ /[a-zA-Z]/o){
$TIP =~ s/[0-9]+$//o;
$TIP = "^" . $TIP;
}elsif($JIP =~ /[x\-\.\d]{12}/o){
$TIP =~ s/([x\-\.\d]{5})([x\-\.\d]*)/$1\.\*/o;
}elsif($JIP =~ /\d{8}/o){
$TIP =~ s/(\d{3})(\d*)/$1\.\*/o;
}else{
if(@ippart < 5){
$TIP =~ s/\d+/\.\*/g;
}else{
if(($ippart[@ippart-6] =~ tr/\d/$&/) > 4){
$TIP = $ippart[@ippart-6];
$TIP =~ s/\d.*/\.\*/g;
}else{
$TIP = "";
}
$TIP .= "$ippart[@ippart-5].$ippart[@ippart-4]";
$TIP =~ s/\d+/\.\*/g;
$TIP .= ".$ippart[@ippart-3].$ippart[@ippart-2].$ippart[@ippart-1]";
}
}
$HIP = "$ippart[@ippart-3].$ippart[@ippart-2].$ippart[@ippart-1]";
}
# 書き込みログファイル
open(RIP,"<$ripfile");
@ZIP = <RIP>;
close(RIP);
# 書き込みホスト保存
open(WIP,">$ripfile");
#flock(WIP,2);
print WIP ("$HOST,$FORM{'sid'},$FORM{'key'}\n", @ZIP)[0..$SETTING{'BBS_THREAD_TATESUGI'}-1];
close(WIP);
} meshだけを厳しくするっつーことだが
meshの一部(ダイヤルアップ)だけ厳しくなかったとも言える 一応スレタイはmeshが入ってるけど
テーマはスレタテ制限の思想というか
現状との擦り合わせだと思われ。 よくよく眺めてみると、スレ立てには関係ない部分ですよね?(゚∀゚)アヒャ
$HIP $TIP $VIP は、ログ書きとか、規制メッセージ用に使っているのかな? >>10
そのあとに連投規制系の処理が続いているんです
餅つけとか、そのへん 発端はニュー速からだと思うが
ニュー速でスレ立ててIPが出るので
ある意味、いい実験になってたな。 そもそもなんでmeshだけ規制が効かない(?)んだろう? >>11
なぁるほどやっぱり(w
ひとまず完成形としては、「スレ立て規制」部分を完全に切り分けたカタチの方が良さそうですよね。 >>13
おそらくこれかなぁ。
if(substr($HOST,-10)=='mesh.ad.jp'){ #追加
鰓にはならないけれども本来は、
if(substr($HOST,-10) eq 'mesh.ad.jp'){ #追加
と評価すべき。 >>3
ログインしないでやってる?ログインしてたら意味ないよ。 メール転載なので私に突っ込まないで下さい
このスクリプトで確認すると説得力が有るような気がします。
立てすぎリスト確認スクリプト(mesh規制済みのもの)
http://tatsu01.at.infoseek.co.jp/etc/tatesugi.pl
使い方(winの場合)
コマンドプロンプトで、
perl tatesugi.pl ホスト名
と打ちます。
$TIPという所に注目して下さい。
それで規制範囲が分かると思われます。
(bbs.cgi全部見た事が無いので憶測です)
ちなみに、規制範囲はダイアルアップだけではありません。
xDSLもFTTHもAIR-H''も@Freedもです。
スレッドにも書きましたが、
これでmeshを規制しても、まだocnよりはゆるいです。 >>13
ざっと見たところ、ホスト名の数字がある程度変わっても同じホストとみなし、
英字が変われば別のホストとみなしている、みたい。
で、meshは繋ぎかえで英字まで変わる(ナンバリングを16進数でやってる)から、かな。 >>18
以外と高級なことやってるんだね。
でも、IPアドレス群(クラスBあたりとか)のほうが内容的には
簡単かつ公平だと思うけどね。 >>11
&Disperror('そのホストからはしばらくスレッドは立てられません'); ←だったかな?
の部分(条件式も含めて)は晒せますでしょうか? >>18
訂正ー(汗
meshは16進数じゃないです。 あっと、mesh すり抜けの直接の要因を探索するんぢゃないですよね(苦笑)
ってことで >>20 は却下ということでm(_ _)m えーと、スレ立て規制をIPアドレス的にみてみると、
mesh実質 /24
dion実質 /16
plala実質 /16
YahooBB実質 /8
になるのかな? ビッグローブだけ規制強化とか恣意的すぎる
ただスレを立てようと思う人にビッグローブが多いだけでしょ
特にビッグローブだけ糞スレ率が高いって訳でもないのに横暴だよ にぅスレ立て規制案
★現状の問題点
・ホストネームで規制しているので、ISP によって偏りがある。
・mesh.ad.jp は規制が機能していない?
★改良案
・IP アドレスによる規制にしてみる。
→ホストネームに左右されることが無くなるのである程度の偏りを改善できるのでは?
★ルーチンの仕様案
・●はスルー。
・入力は IP アドレス。
・出力は、0 (偽)でスルー、0 以外(真)で規制中。
・規制管理用のファイルを生成/再構築(追記)する。
書式は 1 行に "$IPアドレス,$FORM{'sid'},$FORM{'key'}\n" を。
$SETTING{'BBS_THREAD_TATESUGI'} 行分確保する。
○ IP アドレスは、/24 にする? 形式は検索がしやすいように 192.168.1 というカタチにしておく。
→単純な文字列比較なので処理が軽いかも。
こんな感じかな? >>25
今まで ビッグローブだけ甘かったんでは・・?・ >>26
> ○ IP アドレスは、/24 にする?
>>23 が正解なら、/16 あたりが妥当かと meshの糞スレ率は高すぎる
他のプロバユーザーがニューススレ建てようとして弾かれるなんて、不条理すぎる。 >>20
えいっ
# 書き込みログファイル
open(RIP,"<$ripfile");
@ZIP = <RIP>;
close(RIP);
$SIP = grep(/$TIP/, @ZIP);
$JIP = (@ZIP)? @ZIP: 1;
if($FLAG > 7){
if($JIP < 8){
}elsif(($SIP / $JIP) > 0.25 || $SIP > 64){
DispError("ERROR!","このホストでは、しばらくスレッドが立てられません。<br>またの機会にどうぞ。。。");
}
}elsif($SIP){
DispError("ERROR!","このホストでは、しばらくスレッドが立てられません。<br>またの機会にどうぞ。。。");
}elsif($HIP){
$SIP = grep(/$HIP$/, @ZIP);
if($SIP > ($JIP / 16) + 1 || $SIP > 32){
DispError("ERROR!","このホストでは、しばらくスレッドが立てられません。<br>またの機会にどうぞ。。。");
}
}
# 書き込みホスト保存
open(WIP,">$ripfile");
#flock(WIP,2);
print WIP ("$HOST,$FORM{'sid'},$FORM{'key'}\n", @ZIP)[0..$SETTING{'BBS_THREAD_TATESUGI'}-1];
close(WIP); 俺メッシュでADSLだけど、スレ立てようと思って失敗したこと無いよ。
ダイヤルアップだけじゃなくADSL接続も規制無いってことかな。
規制に関しては、ホスト利用者の比率に合わせて強弱決められれば理想的だと思う。
難しいだろうけど。 >>31
わーおぉきにですm(_ _)m
うぅむ。。。これがいわゆる「泥縄式」なのかぁ。。。
ひとまずご飯食べながら妄想してきますm(_ _)m >>34
だからそんな事ここに報告しても意味無いですよ ν速で現状を把握してない一部のmeshユーザー・・・・
夜になって糞スレたてまくり・・・・・・
今週のν速規制の事知らないんだろな・・・・・・
まして土日か・・・・・・・・・・・・・ヤレヤレ('A`)
>>35
たぶん>>34は削除依頼のつもりではなく、クソスレの一例を挙げたいだけでそ 海外サッカーの自治厨はニュー速よりひどいな
全員フシアナ希望とか言ってやがる meshは空気嫁よ( ´,_ゝ`)糞スレしか建てれないのか? クズスレ立てる人間ってかなりの確立で友達が居ないんだろうな。
ニュース速報をそんなオコモリ共のよりどころにするなよ。
友達(話相手)欲しけりゃネット上じゃなくて、リアルでやれ。
できないなら親に話せ。 >>4の解読結果
・●→●IDの完全一致で判定(ホストは無関係)
・生アドレス→/24で判定
・ホスト名の先頭要素に数字「x」「-」を連続12文字以上含む
→該当部分の6文字目以降を区別しない
・ホスト名の先頭要素に8桁以上の数字を含む
→該当部分の4文字目以降を区別しない
上記いずれでもない場合、
・ホスト名が4レベル以下
→数字の違いは一切区別しない
・ホスト名が6レベル以上、かつ6レベル目に数字を4つ以上含む
→4〜5レベル目の数字の違いは区別しない&6レベル目の最初の数字以降は区別しない
&7レベル目以上(あれば)は区別しない
・その他
→4〜5レベル目の数字の違いは区別しない&6レベル目以上(あれば)は区別しない 俺昔ぷららで今WAKWAKだけど
ニュー速でスレ立てれたのなんてここ2年で3回だけ。
毎日のように出入りしてるけど。
もう慣れたよ
+と同じだと思ってる >>41
ろくーでーなしー ろくーでーなしー なんてーひどーい アーウィ いいかーたー 大体さぁ、アニメ関係で立てるにしても、
いかに>>1が話題を持っていくかが腕の見せ所なのに、
はなっから糞スレを立てるのはフェアじゃないよ。 糞スレ率はocnの方が高い
ocnを規制しろよアホ >>51
ν速ではOCNよりmeshの方が規制されてねーから、糞スレ率も高いし、大問題なんだよ?
分かる? 「俺の意見を聴いてくれ(○○って○○なんじゃね?)」みたいのは、もう飽きたよ。
偉そうにニュースが読みたいなら+行けとかいう低脳とか言うのがたまーに居るけど。
速報板の小回りの良さが何か少ない脳でもう一度考えろボケ。
まぁ今更遅いが。アハハ〜クズまみれ。 >>53
2行目
>とか言うのが
ってのは不要。まとめてるうちに狂った。
まぁ何言ってもアホには馬の耳に念仏でしょうけど〜アハハ。 >>54
漏れがメッシャーだったら>>52みてーなことは言わねーよ。
頭使えよ。 スレ立ての規制だけなの?
書き込めもしないとか無いよな うーん、スレタイがちょっと・・・
それともこういう議論が欲しかったのかな・・
>>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});
にするとか。意味ない? ■ このスレッドは過去ログ倉庫に格納されています