facebook twitter hatena line google mixi email
★お気に入り追加


  • 1
  •  
  • 2006/01/19(木) 05:07:16
簡単に串を排除できるBBQ。使ってる?

BBQ
http://bbq.uso800.net/


組み込み例

#################################################################################################
#
#################################################################################################
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')
{
DispError("ERROR!","公開PROXYからの投稿は受け付けていません!!(1)");
}
return 0;
}
#################################################################################################
#
#################################################################################################


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

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

ここまで見た
  • 292
  •  
  • 2007/08/23(木) 00:06:09
>>258をサイトトップに置いてつかってんだけどBBQ側にアクセスログ見られまくり?

ここまで見た
  • 293
  •  
  • 2007/09/05(水) 04:25:28
これどうやって規制リスト取るんですか?
niku.2ch.netってサーバがないみたい・・・

ここまで見た
  • 294
  •  
  • 2007/09/05(水) 06:48:03
>>293
>>1

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

ここまで見た
  • 296
  •  
  • 2007/10/20(土) 22:37:24
toshinariスクリプトにいれるときはどうすればいいのかな?

ここまで見た
  • 297
  •  
  • 2007/10/21(日) 08:34:13
あげ

ここまで見た
  • 298
  •  
  • 2007/10/30(火) 04:49:54
「とかげの尻尾切り」のスクリプトって公開されてないのでしょうか?

ここまで見た
  • 299
  •  
  • 2007/11/26(月) 22:19:00
HOST:p2009-ipbf911funabasi.chiba.ocn.ne.jp


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

また弊害とかありますか

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

ここまで見た
  • 302
  •  
  • 2008/02/12(火) 05:02:28
>>298
あれは恐らくApacheのモジュールだから
公開するの難しいんじゃね?


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

ここまで見た
  • 304
  •  
  • 2008/02/12(火) 20:12:58
>>303
サンクス。
>>266界隈の入れてみた。
うまく動作しているかは分からないが・・・

ここまで見た
  • 305
  •  
  • 2008/02/12(火) 21:59:34
>>304
自分で適当なプロクシ通して試せばいいじゃないか。

ここまで見た
  • 306
  •  
  • 2008/02/12(火) 22:13:53
>>304
素直に32を適当なところに入れれば楽じゃないか?
そのあとにプロキシ通してみりゃいいと思うよ。

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

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

ここまで見た
  • 308
  •  
  • 2008/02/28(木) 08:09:46
あれ? これもう死んでる? x.x.x.x.niku.2ch.netが見つからん。


ここまで見た
  • 309
  •  
  • 2008/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
  • 石に口漱ぐ
  • 2008/03/11(火) 10:33:46
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
  •  
  • 2008/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
  •  
  • 2008/03/11(火) 14:29:18
>>311
俺は>>310じゃないけど
&checkProxyList("niku.2ch.net");
ってやればBBQにもなるって事でおk?

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

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

ここまで見た
  • 314
  •  
  • 2008/03/11(火) 15:01:31
>>312
上半分は当たり。>>313見りゃわかるか。

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

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

ここまで見た
  • 315
  •  
  • 2008/03/11(火) 15:14:54
>>314
ふむ。

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

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

ここまで見た
  • 317
  •  
  • 2008/05/25(日) 17:41:31
BBQすげーな、書き込める串で書き込んだら3分くらいで串判定出て弾かれた

ここまで見た
いたちごっこも佳境に入ってきていますからー♪

ここまで見た
  • 319
  •  
  • 2008/08/02(土) 14:04:28
素人したらば管理人なんですが、どれをどこに組み込めばいいのでしょうか?

ここまで見た
(・∀・)

ここまで見た
  • 321
  •  
  • 2008/08/02(土) 20:30:47
したらばはBBQ標準装備じゃなかったっけ。

ここまで見た
  • 322
  •  
  • 2008/08/05(火) 10:52:31
デフォルト設定は知らんが投稿規制のカテゴリにある。

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

ここまで見た
  • 324
  •  
  • 2008/08/07(木) 03:00:06
>>320-323
ありがとうございました。助かります。

ここまで見た
  • 325
  •  
  • 2008/09/09(火) 16:26:08
>>258のPHP版きぼんぬ

ここまで見た
  • 326
  •  
  • 2008/09/09(火) 18:14:39
>>325
>>7じゃダメなん?

ここまで見た
  • 327
  •  
  • 2008/09/09(火) 19:46:02
掲示板じゃなくてアクセス自体をPHPで弾きたくてさ

ここまで見た
  • 328
  •  
  • 2008/09/09(火) 20:02:57
>>327
そんなもん>>7見りゃすぐだろ。
それも出来ないようなら諦めろ

ここまで見た
  • 329
  •  
  • 2008/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
  •  
  • 2008/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
  •  
  • 2008/09/10(水) 10:48:43
ありがとう ありがとう神様

ここまで見た
  • 332
  •  
  • 2008/10/28(火) 15:48:15
ライブドア、スパム書き込みの送信元IP情報を無料で公開
http://bb.watch.impress.co.jp/cda/news/23637.html

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

ここまで見た
  • 334
  •  
  • 2008/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
  • 2008/10/30(木) 22:50:55
--------
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
  •  
  • 2008/10/30(木) 22:54:04
Ruby の方 exit してないな

ここまで見た
  • 337
  •  
  • 2008/11/23(日) 23:05:07
活性化あげ

ここまで見た
  • 338
  •  
  • 2008/11/24(月) 15:08:39
じゃあ俺がこの板のを参考にちょっと付け加えたやつね。
俺あんまり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
  •  
  • 2008/11/30(日) 13:31:45
>>338


ここまで見た
  • 340
  •  
  • 2008/12/01(月) 00:05:02
>>338

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

変わんないかwww

ここまで見た
  • 341
  •  
  • 2008/12/03(水) 15:16:44
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
  •  
  • 2008/12/09(火) 07:15:49
bbm.2ch.net
これって使える?
必要ない?

フリックラーニング
フリックラーニング
ここまで見た

★お気に入り追加

このページを共有する
facebook twitter hatena line google mixi email
おすすめワード