【荒らしお断り】 BBQを組み込んでる人【システム】
簡単に串を排除できる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;
}
#################################################################################################
#
#################################################################################################
>>165
Python には array を reverse する関数が無いの? こっちの方がいい
import socket
#socket.setdefaulttimeout(2.0)
def BBQ(ip):
import socket
try:
return socket.gethostbyname((reduce(lambda i, j: str(j) + ?.? + i, map(int, ip.split(?.?, 4)), ??) + ?niku.2ch.net?)) == ?.0.0.2?
except socket.error:
pass
return False
>166
あるけどインプレースで行うからreversedを呼ぶ スレ内をPHPで抽出すれば目的のものは手にはいるんじゃね? if(implode('.', gethostbyname(implode('.', array_reverse(explode('.', $_SERVER['REMOTE_ADDR'])) . '.niku.2ch.net'))) == '127.0.0.2'){ header('Content-Type: text/html'); exit('Proxy'); } function is_blacklisted($addr) {
$chklist = array(
'niku.2ch.net',
'list.dsbl.org'
);
$ip = explode(".", $addr);
if ($ip) {
$rev = "{$ip[3]}.{$ip[2]}.{$ip[1]}.{$ip[0]}";
foreach ($chklist as $host) if (checkdnsrr("$rev.$host", 'A')) return TRUE;
return FALSE;
}
} warnig出なくなりました。
しかし、プロキシ通しちゃいましたね。
perlの2行物は遮断できたのですけど何故かな。 32のcgiをphpにrequireて出来ます?
文字がそのまま出ます。
32を32.cgiとして表記
requireを<php の下に書いたが無理でしたね。 >>177
PHPからPerl呼び出せるなんてはじめて聞いたんだが。 <?php
require_once('Net/DNSBL.php');
$dnsbl = new Net_DNSBL();
$dnsbl->setBlacklists(array('list.dsbl.org', 'xbl.spamhaus.org', 'sbl.spamhaus.org'));
if?($dnsbl->isListed($_SERVER['REMOTE_ADDR']))?{
????die('block!!');
}
?> \\ / \\ //
_/ \ ヽヽ
ー--‐ヘ__,  ̄7 //,へ、 ヽ i i
( / // `ー=二_ .「| 「| | | }ー--ヘ
こ な { /イ // ` ー-=|」_|」 | | ノ \
れ .ん | |1 j/| _-‐' `ー- __ | j| i | な |
は. な l |刈 /5芥 /5芹\ j,イi j| | | |
.ぁ .ん l 斤| c{::_j} {::_j}c 行くl| 。 | | |
| .で | ハL|/// i //// |ノ/ l| | | |
| .す | ° 「iハ __ /´ | o ,} | |
!! か 廴__ |川ヽ. /_ ̄ ヽ / 八 -{. !! |
ぁ { ̄ c 八| \ { L___,「} / i/j/ } /
( / }ヘl l个.` 二. ´ 个 | / ヽ /
) { ,.-‐─¬'´ト| | | |/`ー-- 、 `ヽ__/
!?| ゜/\ | }!人 /刈{ / \
/' ∠_ |_ \__/ __/| / / \
⌒ヽ⌒ / \ 「  ̄\小/ |/ | / |
| ,..-─‐‐y┐/| ー广}ー ト、 / ̄ ̄ヽ_ |
// | / ー‐--} ノ | L__,イ ̄ト、_ノ / {二 ̄ | ! \\
下のような投稿が一日数回され困っています。
>>32を入れてみたところ、1週間くらいは投稿がなく、安心していたんですが
最近、また同じような投稿が始まりました。
串ではなく生IPできてるんでしょうか?
http://www.dotup.org/uploda/www.dotup.org3726.png
結構生IPでやってくの多いよ。
BBQだけでなくurlが複数ある場合とかで弾いた方が楽かと。 [url=
を含む投稿を弾くと激減するよ
海外では御用達のphpBB用リンクタグだが、使ってるのはphpBBじゃないっしょ? >>183
[url=
これなんだと思ってたら、そういうことだったのか。 >>183
最近はずいぶん減ったな。 それよりもリンクをHTMLで直接張ってくるほうが10倍以上あるから
</a>を禁止ワードにしてはじいてる。 人いるかな?
Perlへの組み込み自体は簡単だったんだが、これって2chが落ちてる場合
(BBQにつながらない場合)、どうなるんだろう。
タイムアウトして処理続行? それともエラーで止まっちゃう?
後者だったら困るなあ。
>>51に関連しそうなことが書いてあるが、自分の能力では理解不能。 >>186
TimeOutして続行ですね。(127.0.0.1が返ってこないから)
で、Net::DNSを利用することでTimeOutの秒数が指定できることから、
短くすればもたつき感がなくなるかと。 Perl に組み込めるほどのスキルがあるなら考えるまでもなくわかるでしょ;-P あ、続行ですか。よかった。
それにしても敵(日本人)はどっからプロキシリスト探してくるんだろうな…。
今まではCyberSyndromeで対応してたんだが、載ってないプロキシだから
スルーされまくり。ましてや普通の投稿を装うもんだから気色悪い。 BBQを組み込み、引いて結果を保存するがそれによって拒否はしないという風にして2ヶ月ほどたった。
毎日300〜400件の迷惑書き込みがあるが、BBQで陽性反応が出る書き込みは週に1回あるかないか。
自分の場合はぜんぜん役に立たないという結論。
どんな相手に狙われてるかで結構違うと思うよ。
うちは掲示板が複数あるんだけど、
ある掲示板へのスパム投稿元はBBQヒット率がすごく高いけど
別の掲示板ではさっぱり、って感じだから。
(スパマーによって特定の掲示板しか狙わないのが謎だけど)
BBQもそりゃ万能じゃないけど、入れておけば保険にはなると思う。 海外からの無差別ボットにはあんまり役立たないような気もするな。 >>193
海外無差別ボットはいくつかの簡単なルールで100%拒否出来るから無問題。
うっとうしいのは国内エロ関係。 URLを禁止ワードとして加えていくけど、BBQで
一網打尽に出来れば便利なんだけどな。 ああいう書き込みって串使わんのかね。 エロは数としては少ないけど、特定のプロバイダ経由が多いね。
主に、SPAM対策が弱い・遅れてるところ。通報してもまともに
取り合ってくれないような。 うちは大阪のocnがしつこい。
レンタル掲示板だと対処が大変だから設置しようかなぁと考え中。
ヒミコードとかで弾くのが一番確実になるのかねぇ。
もちろんやろうと思えば対処もされるんだけど、負荷とか手間が大きくなるから
向こうにとっても美味しくないと思うし。 BBQはDNSBLのデータも取り込んでなかったっけ? >>194
少なくともプログラムをかじった事がある奴は100%って言葉は使わない。
プログラムに限った事じゃないが常に例外と言うものがある。 海外無差別ボットと絞り込んだ上で、現状では100%ってことは十分にありえるだろ。
いちいち噛み付くことか? ボットネットの奴は100%遮断可能。
疑問に思ったのか、国内ISPから手動で貼りに来てた。
操っている本人は、いくつかのISPに加入しているみたい。 bbqに登録されている串って踏み台にされてるPCだったんだ。 なんと!BBQスレで!
ということはボットは必ずしもBBQに登録されているわけではないってことかあ。
して、その方法とは・・・?公開すると対策されてしまうから秘密?
というかネットカフェから書き込んでるとかじゃなくて複数のISPに加入してんのかな、やっぱり。 前beyondの悪マニを荒らしてたバカは
13のプロバイダーを使い分けてたよ。たしか。 TEAMホゲホゲ、とかじゃなくて個人?すげー・・・執念だ。 「Proxyと思われるポートが開いています」はBBQの機能? >>7
phpの掲示板だったら何処でも使えますか? bbqって久しぶりに導入したけどむずい・・・ってスキルが落ちただけか > bbqって久しぶりに導入したけどむずい・・・ってスキルが落ちただけか
もともと何もできないアフォだったのでは? BBXやBBNはどぉ?
niku.2ch.netの代わりはどこ? 仕組みを把握してないんですがこれってdnsに問い合わせてるだけなんですか? そう。
登録された串のホストが127.0.0.2として返って来るから、それで判定するだけ。 >>32
これ組み込んだんだけど、ホワイトリストはどこに登録すればいいですか どこって・・・・
その組み込んだ手前で判断して分岐すればいいじゃん 書いてホスィ・・・
丸投げスレでトロイが反応しちまうので・・・ ほらよ
if (ホワイト || BBQOK) {
echo "ようこそ";
} else {
echo "帰ってください";
}
2時間で解除されちゃうし、2ch以外じゃあまり効果なくね? その2時間ってのを永久になるよう設定を変えればいいのでは .htaccess制御ってある日ミスって全公開されそうで怖い >>http://www.gamesragnaroklink.net/link/
あぁ、俺の素のACは80余裕で超えてるけどね
Lvも経験値が半分になる領域
門に突っ込んでも大してダメージ受けませんが何か?
うなってDEXナイトだろwwwwwww これってレンタル掲示板(ユーザーじゃなくて運営側が)勝手に組み込んでもいの?
まさかあとから誠意を示せ、なんて言ってくるような893な商売じゃないでしょうね?w >>226
バーボンハウスを参考にリロード対策スクリプトを作ってみた。
仕組みはクッキーかアクセスログ(ホストのみ)の配列数をカウントし
一定以上なら警告。指定時間内のリロード更にが続けばブラックリストへ。 >>233
投稿スクリプトで、プロクシ切り替え&クッキー取得&破棄 2ちゃんねる閉鎖騒動が起こってるけど、BBQどうなるんだろ。
そろそろ自前で対策考えないといけないかもな。
ホントマジで困るんだけど><
BBQが量も速さもダントツだっただけに 止まってるときは使えないという、致命的な欠陥があるじゃんwww えらく403で弾いているアクセスが増えてるなと調べてみたら
hv13.steephost.com(72.232.191.50)
から怒涛のトラバが来てた。
主要RBLでチェックしたけど、BBQだけしか引っかからなかった。
やっぱ便利だよねぇ。 掲示板ではなくてサイトのアクセス自体をBBQで防ぎたいんだけど可能?
やり方など有れば教えて( ゚д゚)ホスィ… サイト自体をcgiやphpで出力するように設定して、
BBQで判定が黒だったらその後の出力をしないように設定しちゃえばおk
ログの上の方にそんな感じのがなかったかな。 サンクス
>>32や>>179がそれか
.htaccessしか触ったこと無いからよくわからんなあ
BBQでググっても掲示板を規制するやり方しかヒットしないしどうしたものか だからそんなに難しくないぞ。
ヒアドキュメントでHTML部分をそのままコピペしたのをプリントして、
それよりも前にBBQ判定を入れるだけ。 >>245
mod_access_rbl 見たいなApacheのモジュールがあったはず。
これを使えば.htaccessでも使えるよ。 ヒアドキュメントでググってやってみた
#!/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エラー出たけどこんな感じ? 更新してなかった、>>247どもです。
ググってみました。レンタルサーバーだからちょっと導入できないぽいです。 試してないけどこんな感じ?
#!/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 else の閉じがないからかな。
perl使いじゃないのでよく知らんが。
で、BBQなどで弾いたときは
HTTP/1.0 403 Forbidden
も出力した方がいいと思うがなぁ。 >250
500 Internal Server Errorでた。
#!/usr/local/bin/perlでいいはずなんだけどなあ >>250だが、すまん確かに閉じ忘れてた。
今ローカルと鯖に上げて試したけど一応動いたよ。
>>253
まあ実際に使うつもりで書いた訳じゃないので。 DSBLみたいに公開するって云う手かぁ。。。
>>256
_HTML
}
ですー♪ #!/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
}
ファイル名を test.cgi でやってみたが500エラー出るな
何がいけないのかわかんね まずはactiveperlでも入れてローカル環境で試せ。
どうせ鯖のエラーログなんか読めない環境なのに、
鯖に実際に上げて試してるんだろ?
他の人にいい迷惑だ。 >>258
test.cgiに実行権限がついてないのでは? 当たり前だがこれ組み込むとレスポンスものっそ遅くなるな なんか、くだ質に成り下がっているが、元質に戻ってこんなんはどぉよ。
http://imadetato.com/item/246 #!/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設置方法だろ。