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 listedn|, $ENV{HTTP_REMOTE_ADDR}, $result =~ /^127./ ? '' : ' no';
}
動作確認はしていません♪
352:nobodyさん
08/12/31 22:57:42 UdoD6YhC
printf qq|%s =>%s listedn|, $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のリンク先参考にすればいいよ。