【荒らしお断り】 BBQを組み込んでる人【システム】at PHP
【荒らしお断り】 BBQを組み込んでる人【システム】 - 暇つぶし2ch266:nobodyさん
07/04/15 02:57:53 EEbACiyN
#!/usr/local/bin/perl

my $RADDR = $ENV{'REMOTE_ADDR'};
$RADDR =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
my $query_addr = "$4.$3.$2.$1.niku.2ch.net";
my $addr = join('.', unpack('C*', gethostbyname($query_addr)));
if ($addr eq '127.0.0.2') { &error("公開Proxyからの閲覧は許可されていません"); }

1;
###################################
をbbq.cgiの名前で作って、掲示板の2行目に
require 'bbq.cgi';
を入れるってのはどうよ?
初心者に優しいBBQ設置方法だろ。


267:nobodyさん
07/04/15 11:09:05
>>266
やさしく無いぞw

268:nobodyさん
07/04/15 11:11:07
>>32でいいじゃん

269:nobodyさん
07/04/15 13:43:40
>>266
それ優しいかもしれないけど
表示毎にBBQに負荷がかかる恐れあり

270:nobodyさん
07/04/16 17:26:36 ZdboOzkp
>>268
>>32を何行目に入れたらいいかわからないんだけど…

271:nobodyさん
07/04/16 17:59:28
>>270
>>40-42

272:nobodyさん
07/05/06 01:20:17 aCOtAwb2
肉2chにローカルIPが登録されたせいで、
ブログにローカルからコメントができなくなったんだが、
192.168.x.xってアドレスはスパムになりえるの?

273:nobodyさん
07/05/06 05:37:15
なくもない

274:nobodyさん
07/05/06 06:06:53
お前さんにはローカルでも2chからみたらグローバルIPだろw
だから焼かれてるのはローカルじゃない。

275:nobodyさん
07/05/06 06:24:12
いくつか登録されてるけどIP詐称関係だったか何だったか忘れた。
>>272は自分が使うIPだか /^192\.168\./ だかのときは
チェックしないようにすればいいよ。

>>274
1.1.168.192.niku.2ch.net も当たりくじ。

276: ◆TWARamEjuA
07/05/06 09:50:18 BE:436122-2BP(6824)
うぅむ、、、外した方がよい?>192.168.0.0/24とか

277:nobodyさん
07/05/06 10:08:15 aCOtAwb2
>>274
いや、グローバルIPとして、192.168.x.xは使え得るのかが気になった。

>>273,275
おーけーありがと。
このIPだけ許可してみる。

278: ◆TWARamEjuA
07/05/06 15:39:56 BE:1961036-2BP(6824)
10.
172.16-32.
127.0.0.1
192.168.
をBBQから外しておきました。

279:nobodyさん
07/05/06 20:30:47
いや、外す必要は無かろうて

280:nobodyさん
07/05/07 08:46:37 pSyEyNJX
278はローカルしかつかえんよね

281:nobodyさん
07/05/09 22:37:09
一応、アドレス詐称攻撃(Spoofing attack)ってのがあるから
外から>>278のアドレスで接続してくるかもしれない。

んだけど、グローバルIPを割り当ててあるIFに対しては
ローカルIPアドレスからの送受信は行わないようにFWで
蹴落としているのが普通だよね。

282:nobodyさん
07/05/19 11:35:44 E3N4QZpK
ホワイトリスト化とかなんかBBQを使った応用とかしてる人いる?

283:nobodyさん
07/05/19 11:45:07
>>282
BBQをホワイトリストにしても意味は無い。
同様の仕組みをホワイトリスト用に使ってはいるけど。

284:nobodyさん
07/05/26 06:51:12
BBQなんてホワイトリストなしじゃ使えんだろ

285:nobodyさん
07/05/26 08:46:06
そうですね

286:nobodyさん
07/07/30 17:34:21
てんててん

287:nobodyさん
07/08/01 21:04:04 TeJyBmia
んー・・・

age

288:nobodyさん
07/08/02 06:57:14
なぜあげた

289: ◆lVJAPUTeX.
07/08/10 23:30:44
>>226

if($ENV{REQUEST_METHOD} eq "POST") {
...
}
として、POSTの場合のみ拒否するようにしておけば、それなりに実用かもしれない。

ちなみに、DNSの情報はキャッシュされるので、>>269 のようなことはない。
(直接利用されるDNSサーバには負荷がかかるが。)


ちょっとBBQとは違う話になるが、IPアドレス割り当てを参照してJP以外を弾くのも場合によっては悪くないかも。
fURLリンク(ftp.arin.net)
fURLリンク(ftp.ripe.net)
fURLリンク(ftp.apnic.net)
fURLリンク(ftp.lacnic.net)
fURLリンク(ftp.afrinic.net)

290:nobodyさん
07/08/16 19:48:20
何メガもあるものをチェックって厳しくね?

291:nobodyさん
07/08/16 22:25:25
>>289
コメントなどBBSへの書き込みはそれでいけるかもしれんが、
トラックバックなど鯖から飛ばす分は、海外設置鯖も多いので
それを排除してしまっていいのかどうか...

>>290
俺はkrfilter(iptables)を入れてて気にならないけど、
スクリプトだと厳しいかもね。

292:nobodyさん
07/08/23 00:06:09
>>258をサイトトップに置いてつかってんだけどBBQ側にアクセスログ見られまくり?

293:nobodyさん
07/09/05 04:25:28 wStA3WBx
これどうやって規制リスト取るんですか?
niku.2ch.netってサーバがないみたい・・・

294:nobodyさん
07/09/05 06:48:03
>>293
>>1

295:nobodyさん
07/09/05 17:38:40 zWiWFNtX
>>294
そのままぶち込んでも動かないと思っていましたが、
上の方で場所にもよるみたいな書き込みがなされていましたね。
読んでいなくてすみません、ありがとうございます。読み直してきます。

296:nobodyさん
07/10/20 22:37:24
toshinariスクリプトにいれるときはどうすればいいのかな?

297:nobodyさん
07/10/21 08:34:13 CCcG4T78
あげ

298:nobodyさん
07/10/30 04:49:54 NYw2ypUi
「とかげの尻尾切り」のスクリプトって公開されてないのでしょうか?

299:nobodyさん
07/11/26 22:19:00
HOST:p2009-ipbf911funabasi.chiba.ocn.ne.jp


300:nobodyさん
08/01/22 10:47:36
まちBBSはDSBL、BBQ、BBXだけじゃなくてポートチェックとか
ほかにも何かいろいろやってるんですか?
2chよりもプロキシ対策が強いみたいですが

また弊害とかありますか

301:nobodyさん
08/02/11 22:45:32
BBQって#!/usr/local/bin/perl の下に追加すれば基本的に動くんですか?
あと、掲示板の場合bbs.cgiのような所に入れた方が良いんでしょうか?

302:nobodyさん
08/02/12 05:02:28
>>298
あれは恐らくApacheのモジュールだから
公開するの難しいんじゃね?


303:nobodyさん
08/02/12 16:10:28
>>301
そのまま組み込んでも何も意味無い。
ってかその掲示板によって色々と変更箇所があるし・・・。
とりあえず初めから読めば有力情報があるはず。

304:nobodyさん
08/02/12 20:12:58 6UTcWqNT
>>303
サンクス。
>>266界隈の入れてみた。
うまく動作しているかは分からないが・・・

305:nobodyさん
08/02/12 21:59:34
>>304
自分で適当なプロクシ通して試せばいいじゃないか。

306:nobodyさん
08/02/12 22:13:53
>>304
素直に32を適当なところに入れれば楽じゃないか?
そのあとにプロキシ通してみりゃいいと思うよ。

307:nobodyさん
08/02/22 12:20:11
掲示板とか置いてないけどトップページにこれ組み込んでおいてプロクシ使ってくる奴全部弾いてる きもちええわー

串使ってくる奴って大体ろくな理由じゃない奴が殆どだからな

308:nobodyさん
08/02/28 08:09:46
あれ? これもう死んでる? x.x.x.x.niku.2ch.netが見つからん。


309:nobodyさん
08/02/28 09:10:00
普通に索けるが。
% host -t a 125.48.89.70.niku.2ch.net.
125.48.89.70.niku.2ch.net has address 127.0.0.2


310:石に口漱ぐ ◆WjL.VV.3P6
08/03/11 10:33:46 GflTN1Cz
DSBLとDNSBLを入れようと思うのですが、
これであってますか? 
また、ふつうの携帯が弾かれるとか、fusianasanしてないホストが弾かれるとか、
思わぬデメリットはありますか?


#-------------------------------------------------
# DSBLシステム (公開Proxy排除機能)
#-------------------------------------------------
sub checkProxyList2 {
my $RADDR = $ENV{'REMOTE_ADDR'};
$RADDR =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
my $query_addr = "$4.$3.$2.$1.list.dsbl.org";
my $addr = join('.', unpack('C*', gethostbyname($query_addr)));
if ($addr eq '127.0.0.2') { &error("公開Proxyからの投稿は許可されていません"); }
}
#-------------------------------------------------
# DNSBLシステム (公開Proxy排除機能)
#-------------------------------------------------
sub checkProxyList3 {
my $RADDR = $ENV{'REMOTE_ADDR'};
$RADDR =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
my $query_addr = "$4.$3.$2.$1.http.dnsbl.sorbs.net";
my $addr = join('.', unpack('C*', gethostbyname($query_addr)));
if ($addr eq '127.0.0.2') { &error("公開Proxyからの投稿は許可されていません"); }
}
--------------書き込み処理に追加----------------
# DSBLとDNSBL
&checkProxyList2;
&checkProxyList3;

311:nobodyさん
08/03/11 14:09:24
sub checkProxyList {
my $server = shift;
my $RADDR = $ENV{'REMOTE_ADDR'};
$RADDR =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
my $query_addr = "$4.$3.$2.$1.$server";
my $addr = join('.', unpack('C*', gethostbyname($query_addr)));
if ($addr =~ /^127\.0\.0\./) { &error("公開Proxyからの投稿は許可されていません"); }
}
ってやれば
&checkProxyList("list.dsbl.org");
&checkProxyList("http.dnsbl.sorbs.net");
と関数1個で済む。あと利用するモノによっては127.0.0.2じゃないのも
返す場合があったと思うので、その点もいじっておいた。

DNSBLの類も万能じゃないので、誤爆とかはありうる。

312:nobodyさん
08/03/11 14:29:18
>>311
俺は>>310じゃないけど
&checkProxyList("niku.2ch.net");
ってやればBBQにもなるって事でおk?

っつかBBQとDSBL、DNSBLって使い分けとかした方がいいの?
よく3つの違いが分からねえ

313:石に口漱ぐ ◆WjL.VV.3P6
08/03/11 14:52:09 GflTN1Cz
>>311
ありがとうございます。
早速書き換えました。
上記の関数に
# BBQ DSBL DNSBL BBX
&checkProxyList("list.dsbl.org");
&checkProxyList("http.dnsbl.sorbs.net");
&checkProxyList("bbx.2ch.net");
&checkProxyList("niku.2ch.net");
で対応してみました。

314:nobodyさん
08/03/11 15:01:31
>>312
上半分は当たり。>>313見りゃわかるか。

使い分け、ねぇ。
何をやらかせばそれぞれのリストに入るのかを調べればいいんじゃないかな?

BBQの場合は「逆引き未設定なだけです」がリスト内にいたりする。

315:nobodyさん
08/03/11 15:14:54
>>314
ふむ。

調べてみたけどDSBLとBBQは同じものと考えちゃっていいんだ。
BBXは業者系のリストでDNSBLがスパム系のリストでおk?

316: ◆TWARamEjuA
08/03/12 23:02:49
新鮮さを求めるのなら、list.dsbl.org.を直で叩くと良いかと♪
如何せん量が甚大なんで、BBQでは鮮度が落ちてしまいます。
そして、DSBLのそのほとんどが腐乱しているっていうのも現実だったり(哀)

317:nobodyさん
08/05/25 17:41:31
BBQすげーな、書き込める串で書き込んだら3分くらいで串判定出て弾かれた

318: ◆TWARamEjuA
08/05/25 20:53:07
いたちごっこも佳境に入ってきていますからー♪

319:nobodyさん
08/08/02 14:04:28 MNhtkvFB
素人したらば管理人なんですが、どれをどこに組み込めばいいのでしょうか?

320: ◆TWARamEjuA
08/08/02 15:43:45 BE:3485748-2BP(7089)
(・∀・)

321:nobodyさん
08/08/02 20:30:47
したらばはBBQ標準装備じゃなかったっけ。

322:nobodyさん
08/08/05 10:52:31
デフォルト設定は知らんが投稿規制のカテゴリにある。

323:nobodyさん
08/08/05 19:50:09
>>319
「Proxy用PORTが開いているホストからの投稿禁止」にチェック入れちゃうと投稿者が自宅WWWサーバ動かしてたりした時に書きこめないから注意な。
ProxyまわりはBBQだけで通常は十分。

324:nobodyさん
08/08/07 03:00:06
>>320-323
ありがとうございました。助かります。

325:nobodyさん
08/09/09 16:26:08 SVwRhwYM
>>258のPHP版きぼんぬ

326:nobodyさん
08/09/09 18:14:39
>>325
>>7じゃダメなん?

327:nobodyさん
08/09/09 19:46:02
掲示板じゃなくてアクセス自体をPHPで弾きたくてさ

328:nobodyさん
08/09/09 20:02:57
>>327
そんなもん>>7見りゃすぐだろ。
それも出来ないようなら諦めろ

329:nobodyさん
08/09/09 21:40:48
<?php
function checkProxyList()
{
$raddr = explode(".", $_SERVER['REMOTE_ADDR']);
$query_addr = "$raddr[3].$raddr[2].$raddr[1].$raddr[0].niku.2ch.net";
if (gethostbyname($query_addr) == '127.0.0.2')
return 0;
}
?>

index.htmlをindex.phpにして一番上にこれ入れてみたけど串でアクセスしても素通りしてしまうなあ
cgi版はちゃんと弾かれたんだが

330:nobodyさん
08/09/10 07:30:22
>>329
そういう使い方をしたいのなら、

<?php
$raddr = explode(".", $_SERVER['REMOTE_ADDR']);
$query_addr = "$raddr[3].$raddr[2].$raddr[1].$raddr[0].niku.2ch.net";
if (gethostbyname($query_addr) == '127.0.0.2')
{
header('HTTP/1.0 403 Forbidden');
echo "こっちくんなー";
exit;
}
?>

331:nobodyさん
08/09/10 10:48:43
ありがとう ありがとう神様

332:nobodyさん
08/10/28 15:48:15
ライブドア、スパム書き込みの送信元IP情報を無料で公開
URLリンク(bb.watch.impress.co.jp)

333:nobodyさん
08/10/28 19:50:49
>>332
面白そうだね。
とりあえずうちの掲示板のspamよけルーチンに、BBQより優先度高くして追加。
しばらく様子見だな。

334:nobodyさん
08/10/29 01:19:05
<?php
//$CHECK_IP = "192.0.2.1"; // スパム判定されるIP
$CHECK_IP = "207.46.197.32"; // されないIP(microsoft.com)

if(preg_match("/(\d+).(\d+).(\d+).(\d+)/",$CHECK_IP,$ip)){
  $b = $ip[4] . ".". $ip[3] . ".". $ip[2] . ".". $ip[1];
  $c[] = gethostbyname($b . ".dnsbl.spam-champuru.livedoor.com");
  if($c[0] == "127.0.0.2"){
    echo $CHECK_IP . " ==> すぱむ";
  }else{
    echo $CHECK_IP . " ==> もっけー";
  }
}
?>

mixiで見っけた

335:32
08/10/30 22:50:55 BE:185724937-PLT(54321)
--------
Perl:
if (gethostbyname(join(".", reverse(split(/\./, $ENV{"REMOTE_ADDR"}))) . ".niku.2ch.net") eq "\x7f\0\0\2") { syswrite(stdout, "Status: 403\xd\xa\xd\xa"); exit; }
--------
PHP:
<?php if ((gethostbyname(implode(".", array_reverse(explode(".", $_SERVER["REMOTE_ADDR"]))) . ".niku.2ch.net")) == "127.0.0.2") { header("HTTP/1.0 403 Forbidden"); exit; } ?>
--------
Ruby:
require "socket"; if (Socket.gethostbyname(ENV["REMOTE_ADDR"].split(".").reverse.join(".").concat(".niku.2ch.net"))[3].eql?("\x7f\0\0\2") rescue nil) then print "Status: 403\xd\xa\xd\xa" end
--------

.niku.2ch.net を .dnsbl.spam-champuru.livedoor.com にすれば沖縄料理対応

336:nobodyさん
08/10/30 22:54:04 BE:433356577-PLT(54321)
Ruby の方 exit してないな

337:nobodyさん
08/11/23 23:05:07 RDwfZmq0
活性化あげ

338:nobodyさん
08/11/24 15:08:39 OzHleQqg
じゃあ俺がこの板のを参考にちょっと付け加えたやつね。
俺あんまりperl分からないからこのくらいしか出来ないw
って事で活性化に繋がれば。。。

sub checkProxyList {
my $server = shift;

my $RADDR = $ENV{'REMOTE_ADDR'};

$RADDR =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
my $query_addr = "$4.$3.$2.$1.$server";
my $addr = join('.', unpack('C*', gethostbyname($query_addr)));

$cplerr1 = "ERROR!";
$cplerr2 = "公開PROXYからの投稿は受け付けていません!!(1)";
$cplrand = int(rand(2));
if ($cplrand eq "0") { $randerr = $cplerr1; }
elsif ($cplrand eq "1") { $randerr = $cplerr2; }

if ($addr =~ /^127\.0\.0\./) { &error("$randerr"); }
}

# BBQ
&checkProxyList("niku.2ch.net");
# DSBL
&checkProxyList("list.dsbl.org");
# BBX
&checkProxyList("bbx.2ch.net");
# DNSBL
&checkProxyList("http.dnsbl.sorbs.net");
# スパムちゃんぷるーDNSBL
&checkProxyList("dnsbl.spam-champuru.livedoor.com");

339:nobodyさん
08/11/30 13:31:45
>>338


340:nobodyさん
08/12/01 00:05:02
>>338

$cplrand = int(rand(2));
if ($cplrand eq "1") {
$randerr = "ERROR!";
} else {
$randerr = "公開PROXYからの投稿は受け付けていません!!(1)";
}
でよくね?

変わんないかwww

341:nobodyさん
08/12/03 15:16:44 ciiTQ7Kr
sub checkProxyList {
my $server = shift;

my $addr = join('.', unpack('C*', gethostbyname(join('.', reverse(split(/\./, $ENV{'REMOTE_ADDR'}))) . '.$server')));

$cplrand = int(rand(2));
if ($cplrand eq "1") {
$randerr = "ERROR!";
} else {
$randerr = "公開PROXYからの投稿は受け付けていません!!(1)";
}

if ($addr =~ /^127\.0\.0\./) { &error("$randerr"); }
}

もうこれでいいじゃん。

342:nobodyさん
08/12/09 07:15:49 YYHa2Wlw
bbm.2ch.net
これって使える?
必要ない?

343:nobodyさん
08/12/09 07:19:44 YYHa2Wlw
URLリンク(info.2ch.net)
URLリンク(mickey.mirv.net)

こっちだった

344:nobodyさん
08/12/09 12:59:15
phpの場合は>>7のコードを貼り付けて呼び出すだけでおkなんですか?
ipをBBQのサイトに受け渡してチェックしてもらう作業はこのコードに含まれてるんですか?


345:nobodyさん
08/12/09 14:56:06 YYHa2Wlw
>>344
おれは>>335を使わせてもらった。

<?php if ((gethostbyname(implode(".", array_reverse(explode(".", $_SERVER["REMOTE_ADDR"]))) . ".niku.2ch.net")) == "127.0.0.2") { header("HTTP/1.0 403 Forbidden"); exit; } ?>

BBQの部分を

.niku.2ch.net
.list.dsbl.org
.http.dnsbl.sorbs.net
.bbx.2ch.net


の四パターンつけたら、
ネットカフェからアクセスできなくていい感じw

さらに、
HTTP/1.1 404 Not Found
にしたら、締め出した事さえ気がつかれずにいい感じw



346:nobodyさん
08/12/09 14:58:44
あ、答えになってなかったね。ごめんちょ<m(__)m>

347:nobodyさん
08/12/28 10:40:14 EbYNxxG3
なるほどね
まとめてチェック版はこんな感じだね

<?php
//チェックお願いしますリスト。増やしたり減らしたり適当に
$DNSBL_list = array('.niku.2ch.net' ,'.list.dsbl.org' ,'.http.dnsbl.sorbs.net' ,'.bbx.2ch.net');
foreach($DNSBL_list as $DNSBL_listV){
if ((gethostbyname(implode(".", array_reverse(explode(".", $_SERVER["REMOTE_ADDR"]))) . "{$DNSBL_listV}")) == "127.0.0.2") {
//スパム判定に引っかかった時の処理 ※適当に変更
echo "{$_SERVER["REMOTE_ADDR"]}"." → {$DNSBL_listV} でひっかかりました><<br />";
// header("HTTP/1.0 403 Forbidden"); exit;//とか
}else{//スパム判定に引っかからなかった時の処理 ※適当に変更
echo "{$DNSBL_listV} 合格よ<br />";
}
}
?>

348:nobodyさん
08/12/30 17:04:21
list.dsbl.orgは要らなくね?あぼーんしちまったようだし

349:nobodyさん
08/12/31 11:06:40
>>348
そうなんだ?トンくす!調べもせず >>347 に載せてたわw
要らなくね?っていうか、引けないホスト載せるなんて最悪だから絶対要らないよね><

350:nobodyさん
08/12/31 12:34:29 UdoD6YhC
>>347
凄いな・・・。
誰かperl版作って下さい><

351: ◆TWARamEjuA
08/12/31 13:56:28
# チェックお願いしますリスト。増やしたり減らしたり適当に
my @DNSBL_list = qw|niku.2ch.net http.dnsbl.sorbs.net bbx.2ch.net all.rbl.jp zen.spamhaus.org b.barracudacentral.org|;

foreach my $DNSBL_host (@DNSBL_list){
my $result = gethostbyname join ".", reverse (split '.', $ENV{HTTP_REMOTE_ADDR}) , $DNSBL_host;
if ($result =~ /^127€./){
# スパム判定に引っかかった時の処理 ※適当に変更
}
else {
# スパム判定に引っかからなかった時の処理 ※適当に変更
}
# 例
printf qq|%s =>%s listed€n|, $ENV{HTTP_REMOTE_ADDR}, $result =~ /^127€./ ? '' : ' no';
}

動作確認はしていません♪

352:nobodyさん
08/12/31 22:57:42 UdoD6YhC
printf qq|%s =>%s listed€n|, $ENV{HTTP_REMOTE_ADDR}, $result =~ /^127€./ ? '' : ' no';
が上手く動いてないんだが・・・

353:nobodyさん
08/12/31 23:29:36
679 名前:動け動けウゴウゴ2ちゃんねる[sage] 投稿日:2008/12/30(火) 13:19:46 ID:NVII90bc0
スレリンク(sec2chd板)

47 名前:名無しの報告 投稿日:2008/12/30(火) 09:41:28 ID:wxypddc2P
あれ?DSBLは今BBQ判定スルーしてませんでしたっけ??

48 名前:焼プリン ★ 投稿日:2008/12/30(火) 09:43:16 ID:???0
>>47
おぉー。してるの?してるのかもしれない…。

50 名前:名無しの報告 投稿日:2008/12/30(火) 10:01:59 ID:wxypddc2P
>>48
確か某掲示板でそのような投稿を見た気がしますです
ソースの確認は今ちょっと出先かつ携帯なので
ほぼ不可能なのですが;;

51 名前:焼プリン ★ 投稿日:2008/12/30(火) 11:39:55 ID:???0
>>50
DSBLそのものがなくなってるっぽい(;・-・)

52 名前:名無しの報告 投稿日:2008/12/30(火) 11:44:04 ID:fpj1OQhA0
URLリンク(dsbl.org)
ふむ。


680 名前:動け動けウゴウゴ2ちゃんねる[sage] 投稿日:2008/12/30(火) 14:30:49 ID:4i/n1z860
DSBLあぼん記念カキコ。ところで下のはどうよ。

Spamhausの対抗馬となるフリーのスパム対策サービスがBarracudaから登場
URLリンク(sourceforge.jp)

354:nobodyさん
09/01/01 02:20:51
>>351
\が化けてね?

355:nobodyさん
09/01/01 13:09:08
>>351
ってかちゃんと動作しきれてない気が・・・

356:nobodyさん
09/01/01 13:31:33 z0xGpUSQ
>>351
# チェックお願いしますリスト。増やしたり減らしたり適当に
my @DNSBL_list = qw|http.dnsbl.sorbs.net niku.2ch.net bbx.2ch.net all.rbl.jp zen.spamhaus.org b.barracudacentral.org|;
my $RADDR = $ENV{'REMOTE_ADDR'};

foreach my $DNSBL_host (@DNSBL_list){

$RADDR =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
my $query_addr = "$4.$3.$2.$1.$DNSBL_host";
my $result = join('.', unpack('C*', gethostbyname($query_addr)));

if ($result =~ /^127\.0\.0\./){
# スパム判定に引っかかった時の処理 ※適当に変更
# 例
printf qq|%s =>%s listed<br>\n|, $DNSBL_host, $result =~ /^127\.0\.0\./ ? '' : ' yes';
} else {
# スパム判定に引っかからなかった時の処理 ※適当に変更
# 例
printf qq|%s =>%s listed<br>\n|, $DNSBL_host, $result =~ /^127\.0\.0\./ ? '' : ' no';
}
}

これで動いたけどスパム判定に引っかかったときの処理が表示されない・・・

357:nobodyさん
09/01/01 17:19:44
>>351をベースに>>356の修正ポイントを反映+α。

my $IP = $ENV{HTTP_REMOTE_ADDR};
my @DNSBL_list = qw|niku.2ch.net http.dnsbl.sorbs.net bbx.2ch.net all.rbl.jp zen.spamhaus.org b.barracudacentral.org|;

for my $DNSBL_host (@DNSBL_list){
my $host = join ".", reverse (split /\Q.\E/, $IP) , $DNSBL_host;
my $result = join ".", unpack 'C*', gethostbyname $host;
if ($result =~ /^127\./){
# スパム判定に引っかかった時の処理 ※適当に変更
printf qq|%s =>yes listed %s\n|, $IP, $DNSBL_host;
}
else {
# スパム判定に引っかからなかった時の処理 ※適当に変更
printf qq|%s =>no listed %s\n|, $IP, $DNSBL_host;
}
}

% env HTTP_REMOTE_ADDR=125.208.217.212 perl hoge.pl
125.208.217.212 =>no listed niku.2ch.net
125.208.217.212 =>no listed http.dnsbl.sorbs.net
125.208.217.212 =>no listed bbx.2ch.net
125.208.217.212 =>no listed all.rbl.jp
125.208.217.212 =>yes listed zen.spamhaus.org
125.208.217.212 =>yes listed b.barracudacentral.org


358:nobodyさん
09/01/01 17:25:47 z0xGpUSQ
>>356だけどコレで動いたww
my @DNSBL_list = ('http.dnsbl.sorbs.net','niku.2ch.net','bbx.2ch.net','all.rbl.jp','zen.spamhaus.org','b.barracudacentral.org');
my $RADDR = $ENV{'REMOTE_ADDR'};

foreach my $DNSBL_host (@DNSBL_list){

$RADDR =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
my $query_addr = "$4.$3.$2.$1.$DNSBL_host";
my $result = join('.', unpack('C*', gethostbyname($query_addr)));

if ($result =~ /^127\.0\.0\./){
# スパム判定に引っかかった時の処理 ※適当に変更
# 例
printf "%s =>%s listed<br>\n", $DNSBL_host, $result =~ /^127\.0\.0\.$/ ? '' : ' yes';
} else {
# スパム判定に引っかからなかった時の処理 ※適当に変更
# 例
printf "%s =>%s listed<br>\n", $DNSBL_host, $result =~ /^127\.0\.0\.$/ ? '' : ' no';
}
}

359:nobodyさん
09/01/04 15:44:18
変なこと聞くけど、なんで問い合わせるときIPアドレスひっくり返すの?

360:nobodyさん
09/01/05 10:01:03
業界っぽく見えるから

361:nobodyさん
09/01/09 18:24:53 Xsqwk5mc
活気が出るのを願ってあげ

362:nobodyさん
09/01/11 20:47:12
>>359
エンディアンの違いじゃね?

363:nobodyさん
09/01/26 13:46:52 g1I0uFd6
DSBLを使いたいのですがこれはユーザー登録しないと使えないのでしょうか?

364:nobodyさん
09/01/26 15:18:05
>>363
URLリンク(dsbl.org) なら死亡したっぽい

365: ◆.CzKQna1OU
09/03/08 21:32:29
保守

366:nobodyさん
09/03/28 16:36:12 xAqQTRt0
DSBL死んだのか…どうしよ。

367:nobodyさん
09/03/29 00:37:32 Vi6NYFfG
>>366
BBQとDNSBLで事足りるでしょ

368:nobodyさん
09/04/15 22:54:53 /QsL8z0W
################################################################
#---------------BBQシステム (公開Proxy排除機能)----------------#
################################################################
sub checkProxyList {
my $RADDR = $ENV{'REMOTE_ADDR'};
$RADDR =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
my $query_addr = "$4.$3.$2.$1.niku.2ch.net";
my $addr = join('.', unpack('C*', gethostbyname($query_addr)));
if ($addr eq '127.0.0.2') { &error("Proxy感知!"); }
}


これでも作動するから平気だよね?

369:nobodyさん
09/04/16 04:50:16 z2gtEA17
>>368
作動するなら問題ないでしょ。
過去レス見ればさらによし。

370:nobodyさん
09/07/31 11:32:30 RnBdDoGz
そろそろage

371:nobodyさん
10/01/04 16:59:00 t1azOvnf
age

372:nobodyさん
10/03/03 02:34:43 G7dFuFeQ
今回bbq組み込んでる人はスクリプト遅くなった?

373:nobodyさん
10/03/03 03:48:00
ちゃんとタイムアウト使ってれば大して重くならないんじゃないかな

374:nobodyさん
10/03/04 04:06:16
>>373
その辺kwsk

375:nobodyさん
10/03/05 01:59:10
>>51のリンク先参考にすればいいよ。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch