【荒らしお断り】 BBQを組み込んでる人【システム】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/01/19(木) 05:07:16ID:bDHDmwK4BBQ
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;
}
#################################################################################################
#
#################################################################################################
0233nobodyさん
2007/01/06(土) 17:57:06ID:uTkZLKelバーボンハウスを参考にリロード対策スクリプトを作ってみた。
仕組みはクッキーかアクセスログ(ホストのみ)の配列数をカウントし
一定以上なら警告。指定時間内のリロード更にが続けばブラックリストへ。
0234nobodyさん
2007/01/08(月) 06:36:03ID:pzcm0yljくれ
0236nobodyさん
2007/01/13(土) 03:28:50ID:sBFoDdXQそろそろ自前で対策考えないといけないかもな。
0237nobodyさん
2007/01/13(土) 10:30:45ID:SuWGNmF2それそれ
0238nobodyさん
2007/01/14(日) 00:18:45ID:???BBQが量も速さもダントツだっただけに
0239nobodyさん
2007/01/21(日) 18:54:08ID:???0240nobodyさん
2007/02/25(日) 14:02:04ID:Wop4Cwb40241nobodyさん
2007/03/01(木) 03:23:09ID:???hv13.steephost.com(72.232.191.50)
から怒涛のトラバが来てた。
主要RBLでチェックしたけど、BBQだけしか引っかからなかった。
やっぱ便利だよねぇ。
0242nobodyさん
2007/03/06(火) 18:58:51ID:???0243nobodyさん
2007/03/25(日) 17:07:14ID:tzkd3AeIやり方など有れば教えて( ゚д゚)ホスィ…
0244nobodyさん
2007/03/25(日) 17:14:50ID:???BBQで判定が黒だったらその後の出力をしないように設定しちゃえばおk
ログの上の方にそんな感じのがなかったかな。
0245nobodyさん
2007/03/25(日) 17:49:14ID:tzkd3AeI>>32や>>179がそれか
.htaccessしか触ったこと無いからよくわからんなあ
BBQでググっても掲示板を規制するやり方しかヒットしないしどうしたものか
0246nobodyさん
2007/03/25(日) 22:10:03ID:???ヒアドキュメントでHTML部分をそのままコピペしたのをプリントして、
それよりも前にBBQ判定を入れるだけ。
0247nobodyさん
2007/03/26(月) 09:13:50ID:???mod_access_rbl 見たいなApacheのモジュールがあったはず。
これを使えば.htaccessでも使えるよ。
0248nobodyさん
2007/03/26(月) 09:34:39ID:???#!/usr/bin/perl print "Content-type:text/html\n\n";
print "if(join('.', unpack('C*', gethostbyname(join('.', reverse(split(/\./, $ENV{'REMOTE_ADDR'}))) . '.niku.2ch.net'))) eq '127.0.0.2'){ print 'Content-Type: text/html', "\n\n", 'Proxy'; exit; }";
print "<head>";
print "<title>test</title>";
print "</head>";
print "<body>";
print "test";
print "</body>";
print "</html>";
500エラー出たけどこんな感じ?
0250nobodyさん
2007/03/26(月) 14:28:26ID:???#!/usr/local/bin/perl
print "Content-type:text/html\n\n";
if(join('.', unpack('C*', gethostbyname(join('.', reverse(split(/\./, $ENV{'REMOTE_ADDR'}))) . '.niku.2ch.net'))) eq '127.0.0.2')
{print "<p>Proxy</p>";}
else{
print <<"_HTML";
<head>
<title>test</title>
</head>
<body>
<p>test</p>
</body>
</html>
_HTML
0252nobodyさん
2007/03/27(火) 13:22:07ID:???問題なく表示できたんだが。
0253nobodyさん
2007/03/27(火) 14:03:15ID:???perl使いじゃないのでよく知らんが。
で、BBQなどで弾いたときは
HTTP/1.0 403 Forbidden
も出力した方がいいと思うがなぁ。
0254nobodyさん
2007/03/27(火) 14:41:23ID:???500 Internal Server Errorでた。
#!/usr/local/bin/perlでいいはずなんだけどなあ
0255nobodyさん
2007/03/28(水) 03:22:11ID:???今ローカルと鯖に上げて試したけど一応動いたよ。
>>253
まあ実際に使うつもりで書いた訳じゃないので。
0256nobodyさん
2007/03/28(水) 13:37:33ID:???>>256
_HTML
}
ですー♪
0258nobodyさん
2007/03/28(水) 21:16:43ID:???print "Content-type:text/html\n\n";
if(join('.', unpack('C*', gethostbyname(join('.', reverse(split(/\./, $ENV{'REMOTE_ADDR'}))) . '.niku.2ch.net'))) eq '127.0.0.2')
{print "<p>Proxy</p>";}
else{
print <<"_HTML";
<head>
<title>test</title>
</head>
<body>
<p>test</p>
</body>
</html>
_HTML
}
ファイル名を test.cgi でやってみたが500エラー出るな
何がいけないのかわかんね
0259nobodyさん
2007/03/30(金) 05:21:17ID:???どうせ鯖のエラーログなんか読めない環境なのに、
鯖に実際に上げて試してるんだろ?
他の人にいい迷惑だ。
0262nobodyさん
2007/03/31(土) 06:51:48ID:???0263nobodyさん
2007/03/31(土) 16:04:46ID:???0264nobodyさん
2007/03/31(土) 16:21:15ID:???0265nobodyさん
2007/04/02(月) 01:48:15ID:???http://imadetato.com/item/246
0266nobodyさん
2007/04/15(日) 02:57:53ID:EEbACiyNmy $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設置方法だろ。
0272nobodyさん
2007/05/06(日) 01:20:17ID:aCOtAwb2ブログにローカルからコメントができなくなったんだが、
192.168.x.xってアドレスはスパムになりえるの?
0273nobodyさん
2007/05/06(日) 05:37:15ID:???0274nobodyさん
2007/05/06(日) 06:06:53ID:???だから焼かれてるのはローカルじゃない。
0275nobodyさん
2007/05/06(日) 06:24:12ID:???>>272は自分が使うIPだか /^192\.168\./ だかのときは
チェックしないようにすればいいよ。
>>274
1.1.168.192.niku.2ch.net も当たりくじ。
0277nobodyさん
2007/05/06(日) 10:08:15ID:aCOtAwb2いや、グローバルIPとして、192.168.x.xは使え得るのかが気になった。
>>273,275
おーけーありがと。
このIPだけ許可してみる。
172.16-32.
127.0.0.1
192.168.
をBBQから外しておきました。
0279nobodyさん
2007/05/06(日) 20:30:47ID:???0280nobodyさん
2007/05/07(月) 08:46:37ID:pSyEyNJX0281nobodyさん
2007/05/09(水) 22:37:09ID:???外から>>278のアドレスで接続してくるかもしれない。
んだけど、グローバルIPを割り当ててあるIFに対しては
ローカルIPアドレスからの送受信は行わないようにFWで
蹴落としているのが普通だよね。
0282nobodyさん
2007/05/19(土) 11:35:44ID:E3N4QZpK0284nobodyさん
2007/05/26(土) 06:51:12ID:???0285nobodyさん
2007/05/26(土) 08:46:06ID:???0286nobodyさん
2007/07/30(月) 17:34:21ID:???0287nobodyさん
2007/08/01(水) 21:04:04ID:TeJyBmiaage
0288nobodyさん
2007/08/02(木) 06:57:14ID:???if($ENV{REQUEST_METHOD} eq "POST") {
...
}
として、POSTの場合のみ拒否するようにしておけば、それなりに実用かもしれない。
ちなみに、DNSの情報はキャッシュされるので、>>269 のようなことはない。
(直接利用されるDNSサーバには負荷がかかるが。)
ちょっとBBQとは違う話になるが、IPアドレス割り当てを参照してJP以外を弾くのも場合によっては悪くないかも。
ftp://ftp.arin.net/pub/stats/arin/delegated-arin-latest
ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-latest
ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-latest
ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-latest
ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-latest
0290nobodyさん
2007/08/16(木) 19:48:20ID:???0291nobodyさん
2007/08/16(木) 22:25:25ID:???コメントなどBBSへの書き込みはそれでいけるかもしれんが、
トラックバックなど鯖から飛ばす分は、海外設置鯖も多いので
それを排除してしまっていいのかどうか...
>>290
俺はkrfilter(iptables)を入れてて気にならないけど、
スクリプトだと厳しいかもね。
0293nobodyさん
2007/09/05(水) 04:25:28ID:wStA3WBxniku.2ch.netってサーバがないみたい・・・
0295nobodyさん
2007/09/05(水) 17:38:40ID:zWiWFNtXそのままぶち込んでも動かないと思っていましたが、
上の方で場所にもよるみたいな書き込みがなされていましたね。
読んでいなくてすみません、ありがとうございます。読み直してきます。
0296nobodyさん
2007/10/20(土) 22:37:24ID:???0297nobodyさん
2007/10/21(日) 08:34:13ID:CCcG4T780298nobodyさん
2007/10/30(火) 04:49:54ID:NYw2ypUi0299nobodyさん
2007/11/26(月) 22:19:00ID:???0300nobodyさん
2008/01/22(火) 10:47:36ID:???ほかにも何かいろいろやってるんですか?
2chよりもプロキシ対策が強いみたいですが
また弊害とかありますか
0301nobodyさん
2008/02/11(月) 22:45:32ID:???あと、掲示板の場合bbs.cgiのような所に入れた方が良いんでしょうか?
0303nobodyさん
2008/02/12(火) 16:10:28ID:???そのまま組み込んでも何も意味無い。
ってかその掲示板によって色々と変更箇所があるし・・・。
とりあえず初めから読めば有力情報があるはず。
0307nobodyさん
2008/02/22(金) 12:20:11ID:???串使ってくる奴って大体ろくな理由じゃない奴が殆どだからな
0308nobodyさん
2008/02/28(木) 08:09:46ID:???0309nobodyさん
2008/02/28(木) 09:10:00ID:???% host -t a 125.48.89.70.niku.2ch.net.
125.48.89.70.niku.2ch.net has address 127.0.0.2
0310石に口漱ぐ ◆WjL.VV.3P6
2008/03/11(火) 10:33:46ID:GflTN1Czこれであってますか?
また、ふつうの携帯が弾かれるとか、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;
0311nobodyさん
2008/03/11(火) 14:09:24ID:???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の類も万能じゃないので、誤爆とかはありうる。
0312nobodyさん
2008/03/11(火) 14:29:18ID:???俺は>>310じゃないけど
&checkProxyList("niku.2ch.net");
ってやればBBQにもなるって事でおk?
っつかBBQとDSBL、DNSBLって使い分けとかした方がいいの?
よく3つの違いが分からねえ
0313石に口漱ぐ ◆WjL.VV.3P6
2008/03/11(火) 14:52:09ID:GflTN1Czありがとうございます。
早速書き換えました。
上記の関数に
# BBQ DSBL DNSBL BBX
&checkProxyList("list.dsbl.org");
&checkProxyList("http.dnsbl.sorbs.net");
&checkProxyList("bbx.2ch.net");
&checkProxyList("niku.2ch.net");
で対応してみました。
0314nobodyさん
2008/03/11(火) 15:01:31ID:???上半分は当たり。>>313見りゃわかるか。
使い分け、ねぇ。
何をやらかせばそれぞれのリストに入るのかを調べればいいんじゃないかな?
BBQの場合は「逆引き未設定なだけです」がリスト内にいたりする。
0315nobodyさん
2008/03/11(火) 15:14:54ID:???ふむ。
調べてみたけどDSBLとBBQは同じものと考えちゃっていいんだ。
BBXは業者系のリストでDNSBLがスパム系のリストでおk?
如何せん量が甚大なんで、BBQでは鮮度が落ちてしまいます。
そして、DSBLのそのほとんどが腐乱しているっていうのも現実だったり(哀)
0317nobodyさん
2008/05/25(日) 17:41:31ID:???0319nobodyさん
2008/08/02(土) 14:04:28ID:MNhtkvFB0321nobodyさん
2008/08/02(土) 20:30:47ID:???0322nobodyさん
2008/08/05(火) 10:52:31ID:???0323nobodyさん
2008/08/05(火) 19:50:09ID:???「Proxy用PORTが開いているホストからの投稿禁止」にチェック入れちゃうと投稿者が自宅WWWサーバ動かしてたりした時に書きこめないから注意な。
ProxyまわりはBBQだけで通常は十分。
0325nobodyさん
2008/09/09(火) 16:26:08ID:SVwRhwYM0327nobodyさん
2008/09/09(火) 19:46:02ID:???0329nobodyさん
2008/09/09(火) 21:40:48ID:???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版はちゃんと弾かれたんだが
0330nobodyさん
2008/09/10(水) 07:30:22ID:???そういう使い方をしたいのなら、
<?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;
}
?>
0331nobodyさん
2008/09/10(水) 10:48:43ID:???0332nobodyさん
2008/10/28(火) 15:48:15ID:???http://bb.watch.impress.co.jp/cda/news/23637.html
0333nobodyさん
2008/10/28(火) 19:50:49ID:???面白そうだね。
とりあえずうちの掲示板のspamよけルーチンに、BBQより優先度高くして追加。
しばらく様子見だな。
■ このスレッドは過去ログ倉庫に格納されています