【荒らしお断り】 BBQを組み込んでる人【システム】 [sc](★0)
-
- 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
-
素人したらば管理人なんですが、どれをどこに組み込めばいいのでしょうか?
-
- 320
- ◆TWARamEjuA
- 2008/08/02(土) 15:43:45
-
(・∀・)
-
- 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版きぼんぬ
-
- 327
- 2008/09/09(火) 19:46:02
-
掲示板じゃなくてアクセス自体をPHPで弾きたくてさ
-
- 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は要らなくね?あぼーんしちまったようだし
-
- 350
- 2008/12/31(水) 12:34:29
-
>>347
凄いな・・・。
誰かperl版作って下さい><
-
- 351
- ◆TWARamEjuA
- 2008/12/31(水) 13:56:28
-
# チェックお願いしますリスト。増やしたり減らしたり適当に
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/ なら死亡したっぽい
-
- 365
- ◆.CzKQna1OU
- 2009/03/08(日) 21:32:29
-
保守
-
- 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
作動するなら問題ないでしょ。
過去レス見ればさらによし。
このページを共有する
おすすめワード