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;
}
#################################################################################################
#
#################################################################################################


ここまで見た
  • 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
これって使える?
必要ない?

ここまで見た
  • 343
  •  
  • 2008/12/09(火) 07:19:44
ttp://info.2ch.net/wiki/index.php?BBM2.0
ttp://mickey.mirv.net/mochi/

こっちだった

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


ここまで見た
  • 345
  •  
  • 2008/12/09(火) 14:56:06
>>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
  •  
  • 2008/12/09(火) 14:58:44
あ、答えになってなかったね。ごめんちょ<m(__)m>

ここまで見た
  • 347
  •  
  • 2008/12/28(日) 10:40:14
なるほどね
まとめてチェック版はこんな感じだね

<?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
  •  
  • 2008/12/30(火) 17:04:21
list.dsbl.orgは要らなくね?あぼーんしちまったようだし

ここまで見た
  • 349
  •  
  • 2008/12/31(水) 11:06:40
>>348
そうなんだ?トンくす!調べもせず >>347 に載せてたわw
要らなくね?っていうか、引けないホスト載せるなんて最悪だから絶対要らないよね><

ここまで見た
  • 350
  •  
  • 2008/12/31(水) 12:34:29
>>347
凄いな・・・。
誰かperl版作って下さい><

ここまで見た
# チェックお願いしますリスト。増やしたり減らしたり適当に
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 listed?n|, $ENV{HTTP_REMOTE_ADDR}, $result =~ /^127?./ ? '' : ' no';
}

動作確認はしていません♪

ここまで見た
  • 352
  •  
  • 2008/12/31(水) 22:57:42
printf qq|%s =>%s listed?n|, $ENV{HTTP_REMOTE_ADDR}, $result =~ /^127?./ ? '' : ' no';
が上手く動いてないんだが・・・

ここまで見た
  • 353
  •  
  • 2008/12/31(水) 23:29:36
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
  •  
  • 2009/01/01(木) 02:20:51
>>351
\が化けてね?

ここまで見た
  • 355
  •  
  • 2009/01/01(木) 13:09:08
>>351
ってかちゃんと動作しきれてない気が・・・

ここまで見た
  • 356
  •  
  • 2009/01/01(木) 13:31:33
>>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
  •  
  • 2009/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
  •  
  • 2009/01/01(木) 17:25:47
>>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
  •  
  • 2009/01/04(日) 15:44:18
変なこと聞くけど、なんで問い合わせるときIPアドレスひっくり返すの?

ここまで見た
  • 360
  •  
  • 2009/01/05(月) 10:01:03
業界っぽく見えるから

ここまで見た
  • 361
  •  
  • 2009/01/09(金) 18:24:53
活気が出るのを願ってあげ

ここまで見た
  • 362
  •  
  • 2009/01/11(日) 20:47:12
>>359
エンディアンの違いじゃね?

ここまで見た
  • 363
  •  
  • 2009/01/26(月) 13:46:52
DSBLを使いたいのですがこれはユーザー登録しないと使えないのでしょうか?

ここまで見た
  • 364
  •  
  • 2009/01/26(月) 15:18:05
>>363
http://dsbl.org/ なら死亡したっぽい

ここまで見た
保守

ここまで見た
  • 366
  •  
  • 2009/03/28(土) 16:36:12
DSBL死んだのか…どうしよ。

ここまで見た
  • 367
  •  
  • 2009/03/29(日) 00:37:32
>>366
BBQとDNSBLで事足りるでしょ

ここまで見た
  • 368
  •  
  • 2009/04/15(水) 22:54:53
################################################################
#---------------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
  •  
  • 2009/04/16(木) 04:50:16
>>368
作動するなら問題ないでしょ。
過去レス見ればさらによし。

ここまで見た
  • 370
  •  
  • 2009/07/31(金) 11:32:30
そろそろage

砂時計アラームタイマー
フリック回転寿司
ここまで見た

★お気に入り追加

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