2012年09月WebProg228: 【荒らしお断り】 BBQを組み込んでる人【システム】 (402) TOP カテ一覧 スレ一覧 2ch元 削除依頼
=== MediaWiki 管理者の集い 第3版 === (477)
【PHP】ツリー掲示板を作ろう (380)
アップローダースレ Part3 (784)
Google App Engine for Python 4アプ目 (881)
SOHOです。仕事下さい。 (435)
Python CGI (349)

【荒らしお断り】 BBQを組み込んでる人【システム】


1 :2006/01/19 〜 最終レス :2012/04/22
簡単に串を排除できる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;
}
#################################################################################################
#
#################################################################################################

2 :
BBQって
http://dsbl.org/
に登録されてるプロキシより、チェックきついの?

3 :
これって2chの串制限をそのまま組み込めるってことだよね?

4 :
掲示板運営には必須

5 :
これの pukiwiki 版ってなかったっけ?

6 :
PHP版はないの?

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

8 :
今までの苦労は何だったの?

9 :
どうせザルだろ

10 :
YY-BORADに組み込めないものだろうか?

11 :
どこかで組み込んだの見たような気も
ていうか、既に誰かやってんじゃね?

12 :
Sn Uploaderに組み込もうとしたけどよくわからないので諦めた。

13 :
これなんでDNS使ってるのは負荷対策なの?

14 :
>>13
>2にもあるように、元は、メールの不正中継を防止するために
ブラックリストのIPアドレスをDNSに登録したのがはじまりだと思う。
BBQは、それの亜流で、公開プロキシ等のチェックに特化している。
いわば歴史的な流れでそうなっていて、負荷云々とはあまり関係がない。
DNSベースなので、外部からの参照も簡単で、最新の状態を保てる。
もちろん、メール以外のアプリケーションにも応用がきくし

15 :
>>7
ありがとうございます。

16 :
for f in `seq 1 255`;do host $f.0.168.192.niku.2ch.net;done
こんなの書いて試したら、いくつか 127.0.0.2 とか言うんだけど。
登録してる人達って、頭大丈夫かいな。

17 :
192.168.なグローバルIPに何か問題でも?

18 :
192.168.0.0/16 がグローバルとははつみみです。

19 :
>>16
IP偽装で飛んでくるやつを弾いてるだけだと思うが

20 :
2ch荒らした固定IPとか携帯とかも弾くようになってるのかな?

21 :
>>19
IP 偽装なんてものは、web 鯖ではじくものなのかな?

22 :
>>21
むしろweb鯖で弾かなくする理由を聞きたい

23 :
>>22
変な日本語ですね。

24 :
>>23
で、理由は?

25 :
>>21 での質問に、質問で答えるのは変ですね。

26 :
IPベースならサービスごとに可否を設定する必要があるだろ

27 :
はつみみです。

28 :
どんな運営してるんだ・・・

29 :
ということにしたいのですね?

30 :
>>29
はつみみです。

31 :
荒らしに困ってるので組み込み方を教えてほすぃ・・

32 :
とりあえず1行で思いついたので、(Perl)
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; }

33 :
くみこめん

34 :
KUMIKO-MEN!!
ニューヒーロー(ヒロイン?)の誕生だ!

35 :
くみこタン萌え

36 :


37 :
どうしたら組み込めるんだ

38 :
32でできるとおもう

39 :
むしろどうして組み込めないのか教えて欲しい

40 :
>1>32を、いったいどうすればいいのかわかんない
どこか任意の行にコピペすればいいの?

41 :
#!/usr/bin/perl とかの真下

42 :
おまえら出来ないんだったらここ行け。
つ 【 スクリプト改造依頼スレ 】(丸投げ) part4
http://pc8.2ch.net/test/read.cgi/php/1127916965/l50

43 :
>>41
thx やってみる

44 :
こりゃいいや。
>>32だとアクセス自体はじくな

45 :
>>32乙。久々のhit。
.htaccessにも応用できないものかな

46 :
text/htmlじゃなくていいと思う

47 :
改善案があるなら書くべし

48 :
>>32
組み込めたんだけどさー
アクセスした時点でProxy表示されてしまうよ
BBQは生IPでも弾くことあるっていうのに、いきなりその仕打ちは酷すぎるとおもうのだけど

49 :
掲示板なら投稿処理周りとかに組み込めばいいじゃない

50 :
>>48
32のProxyて書いてある部分を違うのに変えれ

51 :
何で今更と思わずにはいれないが、
>>1>>32で組み込むとBBQのDNSサーバが死んでいる時にタイムアウトまで待つから、
投稿制御などに組み込んだ場合、重いから投稿ボタン連打する奴が出てきやすいよ。
PerlでNet::DNSモジュールが使えるならば、
http://qb5.2ch.net/operate/kako/1103/11034/1103495887.html の243-244を参考にするといいかと。
自分はちょっと書き換えて使ってる。


52 :
>>46
素人発見

53 :
組み込み例キボン

54 :
>>53
>>1>>7>>32>>51からどれでもお好きなものを

55 :
>>1=32は投稿処理には向かない。
全面アク禁用で構わないよ。
普通のIP制限だって無関係なやつを規制しちゃうんだから
どっちを優先するかじゃない?

56 :
PHPの場合にBBQのDNSサーバが死んでて投稿に時間が掛かる状況になった時の打開策は?

57 :
>>56
http://ns1.php.gr.jp/pipermail/php-users/2001-June/000085.html
このように実装しようかと思っているけど、どうかな?

58 :
PearにNet_DNSがあった。
こちらの方が良さげ

59 :
おお、PHPにもあったとは
試してみます

60 :
>>58
どこやねん

61 :
>>60
ちゃんと探そうよ。
http://pear.php.net/manual/ja/package.networking.net-dns.php

62 :
お前何でそんなこともわからんでこの板いるんだよ、とか言われそうだけど、
>>32はアクセス自体はじいちゃうけどperlだったら#!/usr/bin/perl 下とか適当な所にぶちこむだけで動作する。
>>1のは掲示板とかのアクセスは許可して投稿処理だけしかはじかないけど、
perlの適当なところに入れるだけじゃダメで少しはperlの知識が必要ってことでおk?

63 :
>>1はサブルーチンだから適当なところ(投稿処理時でなくてもいいけど)で呼び出して使う。知識ってほどの知識は特にいらないと思うけどな。

64 :
そのまま入れても、DispErrorなんていうルーチンが無いだろ。
単純にエラー画面出すだけのサブルーチン作ればいいんだけど。

65 :
>>64
ネタだよな。いまどきDispライブラリ入れないでperl使えるか?

66 :
なにそれ

67 :
もうちょっと乗ってやれよ…

68 :
いやつまらんし。
こんな奴に乗って何の得があるのかと。

69 :
なにそれ

70 :
レスしている時点で既に乗っているw

71 :
それだけでもありがたいと思わんと。

72 :
>>62
>>32のだって、投稿処理のサブルーチンに入れれば、投稿だけに効くし
>>1のだって、スクリプトの頭で呼び出せば、全てに効くんだが。

73 :
>>57-61
試したのなら組み込み例を…プリーズ……

74 :
投稿だけに効かすと重い時に連打されるから
頭に入れて出力される文字を若干ソフトに変えればいい
生IPではじかれたやつも違う日に繋いで入れればよし。

75 :
>>74
それはベターと考えてるから粘ってるんじゃないの
久美子MENって悩んでる連中の中でいまだに上手くできたという報告がないけども
知識なくても、それっぽい場所探して組み込みと試行繰り返せばどうにかならんかな
どうしてもわからんなら久美子MENスク晒してみたらいい
わざわざ試行してやる気Neeeeeeeeeeeeけれども、一発で見抜けるようなら教えてやらんでもない期待はするな

76 :
この板、WebProgramわかんねーくせにくんじゃねーよサルwww
的な感じなのかと思い込んでたけど結構優しいんだな。

77 :
あー、Proxyとか出さずに、ただいまメンテナンス中です。見たいな表示にしとけばいいのかw

78 :
32でそういう表示じゃなくて
特定のファイルを表示させるには
どうすればよかんべ?

79 :
print 'Content-Type: text/html', "\n\n", 'Proxy';
ここを変える。ファイルの読み込み・表示なんて説明させないでね

80 :
別ファイルに飛ばすなら
http://easycgi.xrea.jp/tips/perl/location.htm
によると
print "Location:http://〜\n\n";
にすればよさそう

81 :
できた。ありがd

82 :
askaBBSに組み込んでみたんだが効果がなかった。
何故だ?
普通に組み込んだだけじゃダメなの?

83 :
ただ単に荒らしが串使ってないとか?

84 :
自分で試しました

85 :
串使って?

86 :
それしかないでしょ。

87 :
普通に考えて、組み込みに失敗しただけじゃない?

88 :
>>82
どこかで改造したソース晒してみ?

89 :
何処に入れても効果ない・・・。
あの>>1のソースだけでいいんだよね?
他に入れるのあるの?

90 :
>>89
スレ読めばわかるが、>>1の入れただけじゃ駄目だぞ。
ちゃんとしかるべきところで呼び出さないと。

91 :
アクセス制限とかの下に入れたけど無理か・・・。
う〜ん、どうすれば・・・。

92 :
一番簡単なのは
>>41>>32

93 :
gethostbyaddr関数が使えないと無理ですよね?
後、ダイアルアップでも大丈夫っすか?

94 :
>>93
ダイアルアップが何だって?

95 :
ダイアルアップだとHOSTの読み込めないから弾かれるかな?

96 :
ダイヤルアップでもhostは読み込めるのだけど、何が言いたいんだろう?

97 :
Perlコーディング初心者質問スレ Part 46
http://pc8.2ch.net/test/read.cgi/php/1137518266/
まずはお勉強してからだね。

98 :
そうなんですか?
読み込めないのですが・・・。

99 :
荒らしは何でもかんでも弾くものではないんだが。
Proxy認定されてるものを弾くだけだろ。

100 :
個人的なメモ
ttp://bad.tune.jp/archives/2005/11/bbq.html

101 :
.htaccessでこれを使ってはじくのは無理?

102 :
アクセスが多い掲示板でこれを使っても、2chの方へ
負荷がかかりすぎて迷惑ということはないですか?
システムの理屈がわかってないので。

103 :
DNS問い合わせだからそんなに負荷かからないはず。
問い合わせる側のほうが負荷かかるかも。

104 :
>>102
あと普通チェックは書き込み時だけ必要だから頻度はかなり低いはず。 

105 :
>>103,104
ありがとうございます。

106 :
自分の掲示板のログにある3000ほどの書き込みは約700ほどのアドレスから書き込まれていた。
これをBBQに食わせてみたら34が陽性反応。これらのうち逆引きが出来てたのは20でこれらは
全て荒らしでなかった。 残る14。 4つは消し忘れた荒らし。 
問題は残る10。 tracerouteすると怪しげな所に行くのだが、投稿内容はいたってまともな
普通の投稿に見える。 プライバシー意識の強い、スキルのあるユーザーが串を
使ってるのか? これらの投稿を弾くべきか? 

107 :
ぱっと見まともでも、自演かもしれないからなんとも。
普通にそういうのは弾いちゃっていいと思うよ。

108 :
被害を受けてなかったらあえてはじく必要はないんじゃないの?
下手を打って逆恨みされるとかイメージダウンとか
サイト管理者にとってはそっちのほうが痛いと思うけど

109 :
後ろめたいものが無ければ問題ないから大丈夫では。
管理に割くコストを考えたら全然有りだと思う。

110 :
>>108
いや、問題はBBQを導入したらそういう人は選択の余地無くはじいてしまうんですよね。
たしかに逆恨みは怖い。

111 :
この程度で逆恨みするやつだと、逆に弾いた方が結果的に幸せな気がする。

112 :
「あなたのIPアドレスはProxyか、または過去にProxyとして使われていた可能性があります」
とかメッセージをやわらかくすればどうだろ?

113 :
>>112
そうですね。 あとホワイトリスト機能など加えてユーザーから要望があれば
ユーザーのアドレスを「BBQを無視」のリストに加えられるように一応しておくとか。

114 :
DSBLが誤爆ありまくりだからなあ。
うちは、BBQに引っかかった人のみポートチェックする予定

115 :
>>113
すっかり串投稿がなくなりました。 1日たったところで投稿拒否のログをつけ始めたのですが、
ログに残るのはリンク数、HTMLタグ、日本語必須で拒絶されたものばっかりでBBQまで
達しません。 これらもBBQで陽性反応の可能性は高いですが、負荷を減らすために
BBQは最後の砦としてしてます。 しかたなく自分で串さしてログを残して満足しました。

116 :
PROXY使ってないのに「PROXY規制中!」 38
http://qb5.2ch.net/test/read.cgi/sec2chd/1136730837/
↑のスレ見ると、結構BBQを入れるのは慎重になったほうがいいと思うよ

117 :
でも大概のユーザ(一部CATVのように外部に出て行くIPアドレスが共通ではなく、動的IPアドレスのプロバイダ)は
繋ぎなおせばそれで回避できるから問題ないと思う。
固定IPアドレスで規制されている場合、故意か不注意かは別として、
公開プロクシ扱いになっていたということだから規制されても仕方がないし。

118 :
自分で荒らしたからBBQに登録されちゃったのに、
さも何もしてない被害者のように振舞う奴もおおいからな。
ttp://qb5.2ch.net/test/read.cgi/operate/1104339319/364-
こいつみたいに。
ちなみにこいつはセキュ板でも知らん顔で無実で〜みたいな感じでほざいてた。

119 :
そもそも古いVerのLogovista翻訳ソフトをnyで落として穴に気づかず串に使われてる場合が多い。
ISPで巻き込まれたなら、ISPに文句言えばいい。
固定で登録されているなら、上記のlogovistaとかネットワーク関係(ネットでnaviとか)とかそういうソフトをチェックすることだ。
ポートがあいてるなど自鯖たててるからとかだけでbbqに登録されないよ。

120 :
>>107,>>111,>>118見たいのがどこかの掲示板管理者だとしたら
BBQの弊害云々以前にそこはもうダメぽwwwwwwwww

121 :
はいはいそうだね

122 :
弾かれると困る人発見!

123 :
つーか国内のまともなプロバイダ使っていて、BBQにはじかれる奴なんて極少数。
2chはトータルの人口が多いから、引っかかる奴が出てくるだけ。
>>120>>118の先の人とかじゃねぇのw

124 :
そんな予想通りな脊髄反射してるようじゃ>>120の言うとおりと思われてもしかたない
つーかなにそんなに追い詰められているんだ
PRO板だぞここわ

125 :
>>124
日本語でおk

126 :
宣伝スパマーがうざいだけですが何か?

127 :
頭痛が痛い人なんですか?

128 :
頭が悪い人に言われたくありません

129 :
>>128
皮肉にエスプリが足らないねぇ

130 :
↓エスプリたっぷりの皮肉をどうぞ

131 :
就業するぞ!就業するぞ!就業するぞ!

132 :
ewwg

133 :
http://pc8.2ch.net/test/read.cgi/php/1035700861/484n

134 :
踏む踏む。。。

135 :
日本で最も荒らしの多い掲示板は?
それは、2ちゃんねる。
その2ちゃんねるが、5年に渡って
築き上げた荒らし対策のノウハウが、今ここに。
2ちゃんねるのBBQプロジェクトで収集した
公開プロキシーのデーターを、あなたの個人的な
掲示板やブログやwikiに組み込んで使えます。
セットアップは簡単、導入は、今すぐ。
わからないことがあったら、2ちゃんねるの
PHP板のウイザードが親切丁寧にサポートします。
日本最高レベルの荒らし対策の技術を、あなたの元に。

136 :
セキュ板とかに貼ってまわってるのはお前さんかい?

137 :
>>135
荒らし対策と言うよりただのプロクシはじきだぞ。

138 :
BBQは一部に過ぎないんだけどな
Rock54とかSamba24とか。
裏で実装されてるのも沢山あるよん。。

139 :
Cook81ってどうなったんだろう。

140 :
1 ■クラブやバーで問題客を締め出す顔認識システム ■
< http://hotwired.goo.ne.jp/news/20060302301.html >
クラブやバーの入り口で客の顔写真を撮り、以前に問題を起こし
たことがわかっている人物の写真と比較する顔認識システムが開
発された。複数の店でデータベースを共有できるため、問題のあ
る客を締め出して犯罪を抑制する効果が期待できる。しかし、一
方でプライバシーの侵害や誤認識を懸念する声も上がっている。

141 :
>>136
↓の奴なら
http://qb5.2ch.net/test/read.cgi/sakud/1134951368/430
Omotiだよ
http://pc8.2ch.net/test/read.cgi/network/1140299365/l50

142 :
Omoti = バカ

143 :
どなたか↓のサイトにあるアップローダーの投稿処理にBBQを
導入するにはどこに>>32などを入れればいいのか教えて下さい
適当なところに色々入れてみましたが串でも普通に通ってしまい全く変わりません
ttp://sugachan.dip.jp/download/uploader.php
ソースは↓です。
http://pic.syuriken.jp/cgi/upload.txt

144 :
まずは、なにをうpしてるロダか明らかにせよ。
話はそれからだ。

145 :
関係有るのか?w

146 :
>>144
特定されそうですが某携帯機種用のアイコンとか壁紙とかスキンのロダです

147 :
ふーん。がんばって。

148 :
専門板でageると>>144とか>>147みたいなバカしかこないよ

149 :
まあ、専ブラで更新は全てチェックしているわけだが。

150 :
少なくとも2行目に入れれば全てのアクセスについては有効になることはわかってるよな?

151 :
なんだってー!?

152 :
なんだってー!?

153 :
>>143のならメイン処理ってとこに入れればよさげ

154 :
下記スクリプトにBBQを組み込みたいのですが、
ソース再配布不可のため丸投げスレでは拒否されました。
【.  CGI名  .】 Response BBS Ver.1.23
【配布先URL】  ttp://dream.lib.net/room/cgi/e_resbbs.html
【. 置き場所 .】  ttp://dream.lib.net/room/sys/dlcount/dlcount.cgi?f=4_2
          resbbs.cgiの165行目に(手入力による)ホスト規制に関する記述があります。
只今、勉強中でありますが、さっぱり分かりません。
どなたかアドバイスをよろしくお願いいたします。

155 :
>>154
BBQで引っかかった時エラーのデザイン気にしなきゃ単純に>>32をほうりこんでおけばいいやん

156 :
>>154
さっぱりわからないのでは、他人に教えてもらってもわからないと思いますので、
よくわからない、程度まで自力で勉強してきてくださいね。

157 :
プロキシを使っていなくても規制される人を通すにはどうすればいいのでしょうか?
お願いします。<(_ _)>

158 :
2chの運営に掛け合ってみたら?
巻き添え規制の場合は南無だけど。

159 :

■ウィルス爆撃相談所&焼き処2【RockBBQ】
http://qb5.2ch.net/test/read.cgi/sec2chd/1144022103/
見てたら判るけどウイルスによる爆撃で焼きまくりだから
あきらめてもらうか、それこそスクリプトに手をくわえてホワイトリスト処理させるしかないんじゃねぇの?

160 :
>>158-159
ありがとうございます。

161 :
>>1のとかってどういうシステム?
2ちゃんが規制してきたデータをそのまま弾くってこと?
あと常に規制リストは更新されてるの?

162 :
前に携帯から荒らしてきたやつは(固体番号じゃないやつ)@ezweb〜だったけどそれも規制できるのかな?

163 :
>>161
規制リストは規制情報板で規制される度にリアルタイムで反映される
>>162
個体番号を表示しない携帯は全てはじくはず

164 :
>>163
トン

165 :
import socket
#socket.setdefaulttimeout(2.0)
def BBQ(ip):
    try:
        return socket.gethostbyname((reduce(lambda i, j: str(i) + '.' + str(j), reversed(map(int, ip.split('.', 4))), '') + '.niku.2ch.net')[1:]) == '127.0.0.2'
    except socket.error:
        pass
    return False

166 :
>>165
Python には array を reverse する関数が無いの?

167 :
こっちの方がいい
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を呼ぶ

168 :
化けたorz

169 :
>>32をphpで書くとどうなりますか

170 :
スレ内をPHPで抽出すれば目的のものは手にはいるんじゃね?

171 :
いや、6じゃなくて32なんすよね

172 :
if(implode('.', gethostbyname(implode('.', array_reverse(explode('.', $_SERVER['REMOTE_ADDR'])) . '.niku.2ch.net'))) == '127.0.0.2'){ header('Content-Type: text/html'); exit('Proxy'); }

173 :
>>172
warningかなり出ます。

174 :
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;
}
}

175 :
warnig出なくなりました。
しかし、プロキシ通しちゃいましたね。
perlの2行物は遮断できたのですけど何故かな。

176 :
php がデキの悪い言語だからだと思う。

177 :
32のcgiをphpにrequireて出来ます?
文字がそのまま出ます。
32を32.cgiとして表記
requireを<php の下に書いたが無理でしたね。

178 :
>>177
PHPからPerl呼び出せるなんてはじめて聞いたんだが。

179 :
<?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!!');
}
?>

180 :
      \\     /            \\     //
           _/           \  ヽヽ
ー--‐ヘ__,        ̄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__,イ ̄ト、_ノ / {二 ̄   |    !   \\

181 :
下のような投稿が一日数回され困っています。
>>32を入れてみたところ、1週間くらいは投稿がなく、安心していたんですが
最近、また同じような投稿が始まりました。
串ではなく生IPできてるんでしょうか?
http://www.dotup.org/uploda/www.dotup.org3726.png


182 :
結構生IPでやってくの多いよ。
BBQだけでなくurlが複数ある場合とかで弾いた方が楽かと。

183 :
[url=
を含む投稿を弾くと激減するよ
海外では御用達のphpBB用リンクタグだが、使ってるのはphpBBじゃないっしょ?

184 :
>>183
[url=
これなんだと思ってたら、そういうことだったのか。

185 :
>>183
最近はずいぶん減ったな。 それよりもリンクをHTMLで直接張ってくるほうが10倍以上あるから
</a>を禁止ワードにしてはじいてる。

186 :
人いるかな?
Perlへの組み込み自体は簡単だったんだが、これって2chが落ちてる場合
(BBQにつながらない場合)、どうなるんだろう。
タイムアウトして処理続行? それともエラーで止まっちゃう?
後者だったら困るなあ。
>>51に関連しそうなことが書いてあるが、自分の能力では理解不能。

187 :
>>186
TimeOutして続行ですね。(127.0.0.1が返ってこないから)
で、Net::DNSを利用することでTimeOutの秒数が指定できることから、
短くすればもたつき感がなくなるかと。

188 :
Perl に組み込めるほどのスキルがあるなら考えるまでもなくわかるでしょ;-P

189 :
あ、続行ですか。よかった。
それにしても敵(日本人)はどっからプロキシリスト探してくるんだろうな…。
今まではCyberSyndromeで対応してたんだが、載ってないプロキシだから
スルーされまくり。ましてや普通の投稿を装うもんだから気色悪い。

190 :
BBQを組み込み、引いて結果を保存するがそれによって拒否はしないという風にして2ヶ月ほどたった。
毎日300〜400件の迷惑書き込みがあるが、BBQで陽性反応が出る書き込みは週に1回あるかないか。
自分の場合はぜんぜん役に立たないという結論。

191 :
すごい規模っすね、300って…

192 :
どんな相手に狙われてるかで結構違うと思うよ。
うちは掲示板が複数あるんだけど、
ある掲示板へのスパム投稿元はBBQヒット率がすごく高いけど
別の掲示板ではさっぱり、って感じだから。
(スパマーによって特定の掲示板しか狙わないのが謎だけど)
BBQもそりゃ万能じゃないけど、入れておけば保険にはなると思う。

193 :
海外からの無差別ボットにはあんまり役立たないような気もするな。

194 :
>>193
海外無差別ボットはいくつかの簡単なルールで100%拒否出来るから無問題。 
うっとうしいのは国内エロ関係。 URLを禁止ワードとして加えていくけど、BBQで
一網打尽に出来れば便利なんだけどな。 ああいう書き込みって串使わんのかね。 

195 :
エロは数としては少ないけど、特定のプロバイダ経由が多いね。
主に、SPAM対策が弱い・遅れてるところ。通報してもまともに
取り合ってくれないような。

196 :
うちは大阪のocnがしつこい。
レンタル掲示板だと対処が大変だから設置しようかなぁと考え中。
ヒミコードとかで弾くのが一番確実になるのかねぇ。
もちろんやろうと思えば対処もされるんだけど、負荷とか手間が大きくなるから
向こうにとっても美味しくないと思うし。

197 :
OCNはきちんと通報すれば対処してくれると思う。

198 :
海外はBBQよりかDNSBLのがいいよ

199 :
どっちも使ってます

200 :
BBQはDNSBLのデータも取り込んでなかったっけ?

201 :
BBQが止まってます
ってなんだよ?

202 :
>>194
少なくともプログラムをかじった事がある奴は100%って言葉は使わない。
プログラムに限った事じゃないが常に例外と言うものがある。

203 :
海外無差別ボットと絞り込んだ上で、現状では100%ってことは十分にありえるだろ。
いちいち噛み付くことか?

204 :
反抗期な中学生乙枯れ

205 :
コメント機能オフで100%

206 :
ボットネットの奴は100%遮断可能。
疑問に思ったのか、国内ISPから手動で貼りに来てた。
操っている本人は、いくつかのISPに加入しているみたい。

207 :
bbqに登録されている串って踏み台にされてるPCだったんだ。

208 :
>>207
遮断方法はbbqじゃないけどね…。

209 :
なんと!BBQスレで!
ということはボットは必ずしもBBQに登録されているわけではないってことかあ。
して、その方法とは・・・?公開すると対策されてしまうから秘密?
というかネットカフェから書き込んでるとかじゃなくて複数のISPに加入してんのかな、やっぱり。

210 :
前beyondの悪マニを荒らしてたバカは
13のプロバイダーを使い分けてたよ。たしか。

211 :
TEAMホゲホゲ、とかじゃなくて個人?すげー・・・執念だ。

212 :
「Proxyと思われるポートが開いています」はBBQの機能?

213 :
>>7
phpの掲示板だったら何処でも使えますか?

214 :
別に掲示板じゃなくても使えるよ

215 :
bbqって久しぶりに導入したけどむずい・・・ってスキルが落ちただけか

216 :
> bbqって久しぶりに導入したけどむずい・・・ってスキルが落ちただけか
もともと何もできないアフォだったのでは?

217 :
>>216もアフォ

218 :
BBXやBBNはどぉ?
niku.2ch.netの代わりはどこ?

219 :
仕組みを把握してないんですがこれってdnsに問い合わせてるだけなんですか?

220 :
そう。
登録された串のホストが127.0.0.2として返って来るから、それで判定するだけ。

221 :
>>32
これ組み込んだんだけど、ホワイトリストはどこに登録すればいいですか

222 :
ごめんageた

223 :
どこって・・・・
その組み込んだ手前で判断して分岐すればいいじゃん

224 :
書いてホスィ・・・
丸投げスレでトロイが反応しちまうので・・・

225 :
ほらよ
if (ホワイト || BBQOK) {
echo "ようこそ";
} else {
echo "帰ってください";
}

226 :
BBQもいいがこっちも興味あるな。
こっちは公開されてないのか?
http://info.2ch.net/wiki/pukiwiki.php?%A4%C8%A4%AB%A4%B2%A4%CE%BF%AC%C8%F8%C0%DA%A4%EA%A1%A6%A5%D0%A1%BC%A5%DC%A5%F3%A5%CF%A5%A6%A5%B9

227 :
2時間で解除されちゃうし、2ch以外じゃあまり効果なくね?

228 :
その2時間ってのを永久になるよう設定を変えればいいのでは

229 :
.htaccess制御ってある日ミスって全公開されそうで怖い

230 :
http://stage6.divx.com/content/show/1018747

231 :
>>http://www.gamesragnaroklink.net/link/
あぁ、俺の素のACは80余裕で超えてるけどね
Lvも経験値が半分になる領域
門に突っ込んでも大してダメージ受けませんが何か?
うなってDEXナイトだろwwwwwww

232 :
これってレンタル掲示板(ユーザーじゃなくて運営側が)勝手に組み込んでもいの?
まさかあとから誠意を示せ、なんて言ってくるような893な商売じゃないでしょうね?w

233 :
>>226
バーボンハウスを参考にリロード対策スクリプトを作ってみた。
仕組みはクッキーかアクセスログ(ホストのみ)の配列数をカウントし
一定以上なら警告。指定時間内のリロード更にが続けばブラックリストへ。

234 :
>>233
くれ

235 :
>>233
投稿スクリプトで、プロクシ切り替え&クッキー取得&破棄

236 :
2ちゃんねる閉鎖騒動が起こってるけど、BBQどうなるんだろ。
そろそろ自前で対策考えないといけないかもな。

237 :
>>236
それそれ

238 :
ホントマジで困るんだけど><
BBQが量も速さもダントツだっただけに

239 :
止まってるときは使えないという、致命的な欠陥があるじゃんwww

240 :
age

241 :
えらく403で弾いているアクセスが増えてるなと調べてみたら
hv13.steephost.com(72.232.191.50)
から怒涛のトラバが来てた。
主要RBLでチェックしたけど、BBQだけしか引っかからなかった。
やっぱ便利だよねぇ。

242 :
なんか最近BBQ突き抜ける数が急増したんだがw

243 :
掲示板ではなくてサイトのアクセス自体をBBQで防ぎたいんだけど可能?
やり方など有れば教えて( ゚д゚)ホスィ…

244 :
サイト自体をcgiやphpで出力するように設定して、
BBQで判定が黒だったらその後の出力をしないように設定しちゃえばおk
ログの上の方にそんな感じのがなかったかな。

245 :
サンクス
>>32>>179がそれか
.htaccessしか触ったこと無いからよくわからんなあ
BBQでググっても掲示板を規制するやり方しかヒットしないしどうしたものか

246 :
だからそんなに難しくないぞ。
ヒアドキュメントでHTML部分をそのままコピペしたのをプリントして、
それよりも前にBBQ判定を入れるだけ。

247 :
>>245
mod_access_rbl 見たいなApacheのモジュールがあったはず。
これを使えば.htaccessでも使えるよ。

248 :
ヒアドキュメントでググってやってみた
#!/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エラー出たけどこんな感じ?

249 :
更新してなかった、>>247どもです。
ググってみました。レンタルサーバーだからちょっと導入できないぽいです。

250 :
試してないけどこんな感じ?
#!/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

251 :
>>250
エラー出た

252 :
何のエラー?
問題なく表示できたんだが。

253 :
else の閉じがないからかな。
perl使いじゃないのでよく知らんが。
で、BBQなどで弾いたときは
HTTP/1.0 403 Forbidden
も出力した方がいいと思うがなぁ。

254 :
>250
500 Internal Server Errorでた。
#!/usr/local/bin/perlでいいはずなんだけどなあ

255 :
>>250だが、すまん確かに閉じ忘れてた。
今ローカルと鯖に上げて試したけど一応動いたよ。
>>253
まあ実際に使うつもりで書いた訳じゃないので。

256 :
閉じ方わかんねえ

257 :
DSBLみたいに公開するって云う手かぁ。。。
>>256
_HTML
}
ですー♪

258 :
#!/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エラー出るな
何がいけないのかわかんね

259 :
まずはactiveperlでも入れてローカル環境で試せ。
どうせ鯖のエラーログなんか読めない環境なのに、
鯖に実際に上げて試してるんだろ?
他の人にいい迷惑だ。

260 :
>>258
test.cgiに実行権限がついてないのでは?

261 :
>>260
ヽ(`Д´)/それだ! さんくす

262 :
アフォか…

263 :
この程度に何日かけてるんだ・・・

264 :
当たり前だがこれ組み込むとレスポンスものっそ遅くなるな

265 :
なんか、くだ質に成り下がっているが、元質に戻ってこんなんはどぉよ。
http://imadetato.com/item/246

266 :
#!/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 :
>>266
やさしく無いぞw

268 :
>>32でいいじゃん

269 :
>>266
それ優しいかもしれないけど
表示毎にBBQに負荷がかかる恐れあり

270 :
>>268
>>32を何行目に入れたらいいかわからないんだけど…

271 :
>>270
>>40-42

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

273 :
なくもない

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

275 :
いくつか登録されてるけどIP詐称関係だったか何だったか忘れた。
>>272は自分が使うIPだか /^192\.168\./ だかのときは
チェックしないようにすればいいよ。
>>274
1.1.168.192.niku.2ch.net も当たりくじ。

276 :
うぅむ、、、外した方がよい?>192.168.0.0/24とか

277 :
>>274
いや、グローバルIPとして、192.168.x.xは使え得るのかが気になった。
>>273,275
おーけーありがと。
このIPだけ許可してみる。

278 :
10.
172.16-32.
127.0.0.1
192.168.
をBBQから外しておきました。

279 :
いや、外す必要は無かろうて

280 :
278はローカルしかつかえんよね

281 :
一応、アドレス詐称攻撃(Spoofing attack)ってのがあるから
外から>>278のアドレスで接続してくるかもしれない。
んだけど、グローバルIPを割り当ててあるIFに対しては
ローカルIPアドレスからの送受信は行わないようにFWで
蹴落としているのが普通だよね。

282 :
ホワイトリスト化とかなんかBBQを使った応用とかしてる人いる?

283 :
>>282
BBQをホワイトリストにしても意味は無い。
同様の仕組みをホワイトリスト用に使ってはいるけど。

284 :
BBQなんてホワイトリストなしじゃ使えんだろ

285 :
そうですね

286 :
てんててん

287 :
んー・・・
age

288 :
なぜあげた

289 :
>>226
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

290 :
何メガもあるものをチェックって厳しくね?

291 :
>>289
コメントなどBBSへの書き込みはそれでいけるかもしれんが、
トラックバックなど鯖から飛ばす分は、海外設置鯖も多いので
それを排除してしまっていいのかどうか...
>>290
俺はkrfilter(iptables)を入れてて気にならないけど、
スクリプトだと厳しいかもね。

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

293 :
これどうやって規制リスト取るんですか?
niku.2ch.netってサーバがないみたい・・・

294 :
>>293
>>1

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

296 :
toshinariスクリプトにいれるときはどうすればいいのかな?

297 :
あげ

298 :
「とかげの尻尾切り」のスクリプトって公開されてないのでしょうか?

299 :
HOST:p2009-ipbf911funabasi.chiba.ocn.ne.jp

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

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

302 :
>>298
あれは恐らくApacheのモジュールだから
公開するの難しいんじゃね?

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

304 :
>>303
サンクス。
>>266界隈の入れてみた。
うまく動作しているかは分からないが・・・

305 :
>>304
自分で適当なプロクシ通して試せばいいじゃないか。

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

307 :
掲示板とか置いてないけどトップページにこれ組み込んでおいてプロクシ使ってくる奴全部弾いてる きもちええわー
串使ってくる奴って大体ろくな理由じゃない奴が殆どだからな

308 :
あれ? これもう死んでる? x.x.x.x.niku.2ch.netが見つからん。

309 :
普通に索けるが。
% host -t a 125.48.89.70.niku.2ch.net.
125.48.89.70.niku.2ch.net has address 127.0.0.2

310 :
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 :
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 :
>>311
俺は>>310じゃないけど
&checkProxyList("niku.2ch.net");
ってやればBBQにもなるって事でおk?
っつかBBQとDSBL、DNSBLって使い分けとかした方がいいの?
よく3つの違いが分からねえ

313 :
>>311
ありがとうございます。
早速書き換えました。
上記の関数に
# BBQ DSBL DNSBL BBX
&checkProxyList("list.dsbl.org");
&checkProxyList("http.dnsbl.sorbs.net");
&checkProxyList("bbx.2ch.net");
&checkProxyList("niku.2ch.net");
で対応してみました。

314 :
>>312
上半分は当たり。>>313見りゃわかるか。
使い分け、ねぇ。
何をやらかせばそれぞれのリストに入るのかを調べればいいんじゃないかな?
BBQの場合は「逆引き未設定なだけです」がリスト内にいたりする。

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

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

317 :
BBQすげーな、書き込める串で書き込んだら3分くらいで串判定出て弾かれた

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

319 :
素人したらば管理人なんですが、どれをどこに組み込めばいいのでしょうか?

320 :
(・∀・)

321 :
したらばはBBQ標準装備じゃなかったっけ。

322 :
デフォルト設定は知らんが投稿規制のカテゴリにある。

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

324 :
>>320-323
ありがとうございました。助かります。

325 :
>>258のPHP版きぼんぬ

326 :
>>325
>>7じゃダメなん?

327 :
掲示板じゃなくてアクセス自体をPHPで弾きたくてさ

328 :
>>327
そんなもん>>7見りゃすぐだろ。
それも出来ないようなら諦めろ

329 :
<?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 :
>>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 :
ありがとう ありがとう神様

332 :
ライブドア、スパム書き込みの送信元IP情報を無料で公開
http://bb.watch.impress.co.jp/cda/news/23637.html

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

334 :
<?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 :
--------
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 :
Ruby の方 exit してないな

337 :
活性化あげ

338 :
じゃあ俺がこの板のを参考にちょっと付け加えたやつね。
俺あんまり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 :
>>338


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

341 :
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 :
bbm.2ch.net
これって使える?
必要ない?

343 :
ttp://info.2ch.net/wiki/index.php?BBM2.0
ttp://mickey.mirv.net/mochi/
こっちだった

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

345 :
>>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 :
あ、答えになってなかったね。ごめんちょ<m(__)m>

347 :
なるほどね
まとめてチェック版はこんな感じだね
<?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 :
list.dsbl.orgは要らなくね?あぼーんしちまったようだし

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

350 :
>>347
凄いな・・・。
誰かperl版作って下さい><

351 :
# チェックお願いしますリスト。増やしたり減らしたり適当に
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 :
printf qq|%s =>%s listedn|, $ENV{HTTP_REMOTE_ADDR}, $result =~ /^127./ ? '' : ' no';
が上手く動いてないんだが・・・

353 :
679 名前:動け動けウゴウゴ2ちゃんねる[sage] 投稿日:2008/12/30(火) 13:19:46 ID:NVII90bc0
http://qb5.2ch.net/test/read.cgi/sec2chd/1230563347/
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
http://dsbl.org/
ふむ。

680 名前:動け動けウゴウゴ2ちゃんねる[sage] 投稿日:2008/12/30(火) 14:30:49 ID:4i/n1z860
DSBLあぼん記念カキコ。ところで下のはどうよ。
Spamhausの対抗馬となるフリーのスパム対策サービスがBarracudaから登場
http://sourceforge.jp/magazine/08/12/22/0121248

354 :
>>351
\が化けてね?

355 :
>>351
ってかちゃんと動作しきれてない気が・・・

356 :
>>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 :
>>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 :
>>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 :
変なこと聞くけど、なんで問い合わせるときIPアドレスひっくり返すの?

360 :
業界っぽく見えるから

361 :
活気が出るのを願ってあげ

362 :
>>359
エンディアンの違いじゃね?

363 :
DSBLを使いたいのですがこれはユーザー登録しないと使えないのでしょうか?

364 :
>>363
http://dsbl.org/ なら死亡したっぽい

365 :
保守

366 :
DSBL死んだのか…どうしよ。

367 :
>>366
BBQとDNSBLで事足りるでしょ

368 :
################################################################
#---------------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 :
>>368
作動するなら問題ないでしょ。
過去レス見ればさらによし。

370 :
そろそろage

371 :
age

372 :
今回bbq組み込んでる人はスクリプト遅くなった?

373 :
ちゃんとタイムアウト使ってれば大して重くならないんじゃないかな

374 :
>>373
その辺kwsk

375 :
>>51のリンク先参考にすればいいよ。

376 :
BBQとDNSBLを合体させた最強のプログラムはないものか
ちなみにPHPで

377 :
揚げ足取りたい訳じゃないんだが
DNSBLは仕組みの名前で、BBQはそれを使った2ちゃん用ブラックリストじゃないの?
だから合体させたも何も、BBQとそれ以外のDNSBLに同時に問い合わせるようにするだけじゃなくて?

378 :
PHPです。
function checkProxyList($msg = '')
{
# 荒らしお断りシステム
# BBQ http://info.2ch.net/wiki/index.php?BBQ
//チェックお願いしますリスト。増やしたり減らしたり適当に
$DNSBL_list = array('.niku.2ch.net' ,
'.dnsbl.spam-champuru.livedoor.com' ,
'.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") {
//スパム判定に引っかかった時の処理
header("HTTP/1.0 403 Forbidden"); exit;//とか
// }else{//スパム判定に引っかからなかった時の処理 ※適当に変更
// echo "{$DNSBL_listV} 合格よ<br />";
}
}
}

使いたいとこで、下記のように呼び出します
checkProxyList();

379 :
403 とか 404 返さずに広告張ったページにとばせばいいのに・・・って
エラーページでそれくらいみなやってるか

380 :
スパム系は、投稿するサイトを自動で探し出してリストを作るから403や404にして
「そんなのネーよ!」で、拾われないようにするんだと思う。
広告張ったページであろうとなかろうと、スパムは容赦なく訪れてマシンガンのようにやってくるし、
そのぶんサーバーに不可は掛かるし、スパムは広告なんて見ないだろうし。

381 :
おいおい

382 :
スパム投稿と判断された奴にGENOウイルスでも踏ませたらどうだい

383 :
【超絶基地外12歳荒らしの判明しているコテハン】
plus01 ★ 管理人 ★ πナップル ★ きうい ★ mango+ ★ Fine ★
YV/TV ◆.Y./V..TV.
ジエン ◆2.14..sI1E
ネックス ◆Nex/RZxaHI
いざこざ ◆Nex/RZxaHI
いざこざ ◆Iza..hlnPI
いざ・・ ◆Iza..hlnPI
FuLL! ◆FuLL/FW.EQ
1206 ◆1206ePaU1M
ふぁー ◆fah/7D.Rkk
ふぁー 返し ◆fah/7D.Rkk
6分のろーぷら ◆LowPrice/6
労ぷら椅子 ◆LowPrice/6
【livevenus:20】 ◆LowPrice/6
6分のろーぷら ◆MAyUzEEE/E
6分のろーぷら ◆MYU/e0Imzi1E
6分のろーぷら ◆/UeVRo.Tv.
リック◆Lick/SPaQs
連投すみません ◆Lick/SPaQs
うずまき ◆vzqJXqubSg
リック ◆vzqJXqubSg
ナマコぞうすい ◆WgQ1EvIdds
【判明しているリモホ】
p6073-ipbffx01marunouchi.tokyo.ocn.ne.jp
z232163.dynamic.ppp.asahi-net.or.jp
w62.jp-t.ne.jp
cw43.razil.jp

384 :
>>383
お前初質板から延々と大量にコピペ貼ってるよな

385 :
>>383
ipngn\d+marunouchi.tokyo.ocn.ne.jp
\.dynamic.ppp.asahi-net.or.jp
\.jp-t.ne.jp
\.razi.jp

386 :
PerlでNet::DNSモジュールが使えない場合でタイムアウトする処理って出来ないですか?

387 :
上尾

388 :
保守

389 :
保安点検

390 :
あgey

391 :
串刺してるやつとネットカフェからの投稿者だけ網にかけたい場合は、BBQだと大げさすぎるのかな?
善良者も巻き込まれてるみたいで投稿数が激減してしまったんだが。

392 :
>>391
串じゃなくても海外のプロバイダからのアクセスがはじかれる
あとは、焼かれた携帯からもはじかれるな
あと、ほんとにたまに日本の大手のプロバイダが焼かれてアクセスはじかれる場合もある
うーん、どうなんだろうか
大手プロバイダのIPアドレスで何年も昔に焼かれた奴も放置されてる場合もあるしなー


393 :
BBQ見てるだけなら焼かれ携帯は通るような。
善良者さんのIP or IPレンジはホワイトリスト化して素通りにしてあげればいいと思うよ。
生IPでやんちゃするのもいるわけだし状況に合わせて運用。

394 :
>>393
あっそうだな
携帯は通るな
勘違いしてた

395 :
れすd
まあ時間が立てば善良者だけの掲示板に育つわけだから、ある程度の犠牲は仕方ないか・・・

396 :
Wordpress 
<?php
/*
Plugin Name: 荒らしお断りシステム:BBQ
Plugin URI: プラグインの配布のURL
Description: Open Proxy(公開プロキシ)サーバ等のIPアドレスの国産のブラックリスト
Version: 0.0.1
Author: ID:kplGY7FD(2chの人)
Author URI: 作者のURL
*/
add_action( 'login_form', 'checkProxyList' ); //ログインフォーム
//buddypress ログインフォーム サイドバー
add_action( 'bp_sidebar_login_form', 'checkProxyList' );
add_action( 'register_form', 'checkProxyList' );
//add_action( 'comment_form', 'checkProxyList' );
add_action( 'signup_extra_fields', 'checkProxyList' );
//buddypress
add_action('bp_after_signup_profile_fields', 'checkProxyList');
function checkProxyList($msg = '')
{ # 荒らしお断りシステム BBQ http://info.2ch.net/wiki/index.php?BBQ
//チェックお願いしますリスト。増やしたり減らしたり適当に
$DNSBL_list = array('.niku.2ch.net' , '.dnsbl.spam-champuru.livedoor.com' , '.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") {
//スパム判定に引っかかった時の処理
@header("HTTP/1.0 403 Forbidden"); exit;//とか
// }else{//スパム判定に引っかからなかった時の処理 ※適当に変更
// echo "{$DNSBL_listV} 合格よ<br />";
// @header("HTTP/1.0 403 Forbidden"); exit;//とか
} } }
?>

397 :


398 :
透明牌

399 :
ほしゅ

400 :
近頃、基地外によくBBQサーバ落とされるみたいだしなんらかのタイムアウト処理は入れたほうがいいな
PerlだったらNet::DNSあたりでPHPだったNet/DNSか

401 :
2chが閉鎖する閉鎖するって言ってるけどBBQサーバはどうなるんだろう

402 :2012/04/22
BBQシステムは残ってほしいよなあ。
最悪仕様やプログラムを公開してほしい。
TOP カテ一覧 スレ一覧 2ch元 削除依頼
JSP/Servletで構築されたサイト (222)
【Perl上級者コーナーPart01】 (626)
Google App Engine for Python 4アプ目 (881)
【荒らしお断り】 BBQを組み込んでる人【システム】 (402)
PHP初心者勉強会やらんかね! (477)
PHPBB (755)
--log9.info------------------
【スマイルプリキュア!】緑川なお/キュアマーチ31 (795)
【マギ】モルジアナは最強奴隷可愛い (209)
【織田信奈の野望】ねねちゃんはオネショ治らないかわいい (899)
【月姫】遠野秋葉を語るスレ part13 (275)
アイドルマスターの我那覇響はなんくるカワイイ 7曲目 (451)
アイドルマスターの天海春香はリボンかわいい 11曲目 (622)
【未来日記】我妻由乃はユッキー大好きカワイイ8 (361)
【カードファイト!!ヴァンガード】 ユニット萌えスレ 24体目 (669)
【ひだまりスケッチ】なずなちゃんは普通科可愛い8スレ目 (233)
【TARI TARI】優勝!!おめでとう!!白浜坂高校 田中大智 (289)
【まどか☆マギカ】佐倉杏子はロッキー抹茶味可愛い106本目 (436)
スマイルプリキュア!】モブキャラ/クラスメイト1.1 (252)
【Fate/Zero】ウェイバー・ベルベット 世界旅行14ヵ国目 (605)
【TARI TARI】上野みどりさんは天使 (314)
遊戯王GXのカイザー丸藤亮スレッド 18.6連打ァ! (900)
【遊戯王ZEXAL】神代凌牙(シャーク)【それがあり22ける限り】 (217)
--log55.com------------------
TRPGのスタンダードを議論する 548
TRPG総合 質問・雑談スレ 144
ウォーゲーム・シミュレーションゲーム総合144
【SW2.0/SW2.5】ソード・ワールド2.0/2.5スレ 735
◆ボードゲーム・カードゲーム総合◆ その264
【MTG】最新セット雑談スレッド1672
test
ヴァンガードは何故嫌われるのか 80