ホーム > フォーラム > 質問箱 > newbbで海外からの不正な書き込みを防ぎたい

newbbで海外からの不正な書き込みを防ぎたい
投稿者: 39mail | 投稿日時: 2006/6/28 11:56 | 閲覧: 23571回
39mail
海外からの不正書き込みに悩んでいます。

投稿フォームを使わずにダイレクトに投稿しているようです。

見つけ次第、削除しているのですが大変です。

以前に投稿フォームを利用した形跡がある場合には、
IP拒否の設定をサーバにして対応できたのですが....

サイトの性質上、書き込みを登録ユーザに限定することができないので
困っています。

投稿フォームを使わずにダイレクトに投稿できなくする仕組みなんか
できませんか?

宜しくお願いします。

   39メール http://39mail.com

コメント(12)

Re: newbbで、海外からの書き込みを防ぎたい 
投稿者: jdbb | 投稿日時: 2006/6/28 12:31
jdbb
普通にやるとすると

・投稿フォームからhidden属性で何かを渡すようにする。
・リファラーをチェックするようにする。
・セッションを何か渡すようにする。

あたりでしょうか?

あとはproxy属性変数のチェックも含めるといいかもしれません。

かなり乱暴な方法ではjpドメイン以外の投稿を受け付けなくする
というのもありますがこれは普通の人も
投稿できなくなる場合があるとおもいます。
Re: newbbで、海外からの書き込みを防ぎたい 
投稿者: 39mail | 投稿日時: 2006/6/29 7:04
39mail
まだ、なんとも言えませんが少し危ない予感がしています。

とりあえず海外からの投稿については不可にして様子見ることにします。

また、この件で何か進展がありましたらご報告させていただきます。
Re: newbbで海外からの不正な書き込みを防ぎたい 
投稿者: domifara | 投稿日時: 2006/6/29 10:32
domifara
引用:
39mailさんは書きました:
海外からの不正書き込みに悩んでいます。
投稿フォームを使わずにダイレクトに投稿しているようです。

最近また増えているようです

私のところのようなアクセス数の少ないところにもきます
お問い合わせモジュール1.00RCで、
迷惑投稿(コメントスパムの一種でしょう)をもらって、
面倒なのでゲストへの権限をはずしてしまいました。

いきなりPOSTしてくるものもあるのですが
そういうのは投稿失敗してますけど
「投稿フォームを使わず」ではなくて、
アクセスの手順としてはまとも
(先にGETでページ開いてからhidden 項目も解析しているっぽい)
POSTなので、Xoops tokenチェックにも引っかからないみたいです
ゲストに投稿許しているものは、すべて投稿される可能性があると思いました

次期 Xoops cube に 投稿スパム系ブロックの機能を
標準で入れてほしいですね
Re: newbbで海外からの不正な書き込みを防ぎたい 
投稿者: jdbb | 投稿日時: 2006/6/30 1:20
jdbb
マルチバイトが一切含まれていなかったら受け付けない
ってのなら結構簡単にできそうですね
Re: newbbで海外からの不正な書き込みを防ぎたい 
投稿者: achain | 投稿日時: 2006/6/30 15:42
achain
近年のblogツールがコメントspam対策に取り入れているように、DNSBLを参照してspammerからのPOSTを排除するのが簡単且つ確実だと思います。(DNSBLの解説はgoogleさんにお任せします^^;)

XOOPS界でははBluesBBがこの方式を取り入れていますね。やり方は簡単なので、newsやnewbbに移植してみてはいかがでしょうか。
http://xoopscube.jp/modules/newbb/viewtopic.php?topic_id=10694&forum=14

実は自作の掲示板CGIで同じspamの悩みを抱えていまして、リファラチェックやセッション管理を組み込んでどうにか凌いでいたのですが、spammer以外も引っかかってしまう可能性がどうにも排除しきれず、このDNSBL参照方式に変更しようと昨夜実験していたところでした。実験結果では、昨日中に72件あった不正POSTを以下の二つのDNSBLサービス併用で(なんと)100%阻止出来ています。

- niku.2ch.net(2ちゃんねるのいわゆるBBQ)
- sbl-xbl.spamhaus.org
Re: newbbで海外からの不正な書き込みを防ぎたい 
投稿者: 39mail | 投稿日時: 2006/7/1 13:40
39mail
近況の報告です

wp-trackback.phpに大量のPOSTがありました。(ウクライナからです)
29日23:00頃から30日03:30頃まで数分間隔で延々にPOSTしています。
たぶん100個以上。(数え切れない)
日本以外の書き込みを禁止していなかったらスパムで埋め尽くされていた? かもしれません。

xoopsが攻撃対象になっているのか?
日本が対象なのか?
うちのサイトのみなのか? 

皆さんのXOOPSサイトでは、何か現象はありませんか?


Re: newbbで海外からの不正な書き込みを防ぎたい 
投稿者: jdbb | 投稿日時: 2006/7/3 16:11
jdbb
私も友達に頼まれて掲示板作っていたのですが
やはりノートンの設定など誰でも書き込めるような掲示板では
説明が難しいかなって思っており
最悪jpドメイン+許可したドメインって感じで
管理者の負担を増やす方向で考えていました。
bbqも存在自体は知っていたのですが
そこまで強力な結果が得られるのならぱくらせてもらいます
Re: newbbで海外からの不正な書き込みを防ぎたい 
投稿者: minahito | 投稿日時: 2006/7/5 11:08
minahito
引用:
次期 Xoops cube に 投稿スパム系ブロックの機能を
標準で入れてほしいですね


Webべったりの事象に関してはコアやベースが直接機能を持って行くべきですね。ただ、 Page controller スタイルかつ今のモジュールがほぼ 100% の自由度を握っている状態(投稿に関してコアが特に API を整備していない)で、どうやってそれをやっていくのか……が問題になりそう。

モジュール側から簡単に適用できる何らかのAPIを提供し、 Cube のデリゲートを使って換装可能にしておくのが、まっとうな方法ということになると思います。
(つまりそれを活用しないものはスパムブロックの機能を持たない)

DBレイヤーや、コモンプロセスで「投稿らしき通信をみてコア側で自動カット」などといった実装にすると、一定の効果をあげられるとしても、コアとしては"異常性"と言われても仕方のない性質を含むことになってしまいますので、このあたりはプリロードを活用して、効果の有無、効果の強弱をユーザーが調節可能ということでいいんじゃないかと思います。
3rd モジュールにも期待できますし。
Re: newbbで海外からの不正な書き込みを防ぎたい 
投稿者: domifara | 投稿日時: 2006/7/8 18:53
domifara
将来はどうかわかりませんが、
今使えるものが必要なのでは

引用:
achainさんは書きました:
XOOPS界でははBluesBBがこの方式を取り入れていますね。やり方は簡単なので、newsやnewbbに移植してみてはいかがでしょうか。
http://xoopscube.jp/modules/newbb/viewtopic.php?topic_id=10694&forum=14

nekosakana さんの そのままの記述のものなのですが
完全なものでなくても
役に立つかもしれないので
今困っているいる人にすぐに試しに使ってもらえる
(かもしれない?テストしていない)もの作れました

xoops japanese 2.0.1x 専用ですが
こちら
http://domifara.lolipop.jp/karidown2/dsbl_check_for_xoops_cube2_0_1x_japanese.zip

私の場合は
やるなら、モジュール単位ではなくて
サイト全体にかけます

追記:Xoopsのコメントや他のモジュールなど同様のため
サイト全体にかけないと、きりがないからです
追記:Windowsサーバーでは動きません。checkdnsrr 関数がサポートされていないから


xoops cube 2.0.15
japanese 言語の中で判定してexitで止めるだけ、メッセージなんて無し

html/language/japanese/global.php

の先頭のほうで呼び出しの改造

if ( !defined("XOOPS_MAINFILE_INCLUDED") || !defined("XOOPS_ROOT_PATH") || !defined("XOOPS_URL") ) {
	exit();
}
//%%%%%		access check SETTINGS   %%%%%
//------------------------------------------------------
if ( $_SERVER['REQUEST_METHOD'] != 'GET' ) {
	require dirname(__FILE__).'/accesscheck.class.php';
	$domicheck = new DomiAccesscheckHandler() ;
	$domicheck->post_check();
	unset($domicheck); //チェック後は不要なので
}
//------------------------------------------------------

処理としては
リクエストが GET 以外 つまり POST 送信のみ
判定動作することでようにしました。

POST以外は負荷が、かからないから

なんらかの理由で、
ログインまで引っかかる場合は、
Xoops 原本の global.php を上書きすれば元にもどります。

ディレクトリ付きで解凍して、
html/language/japanese/
のなかにすべて放り込むだけで

含まれているのは
html/language/japanese/
 .htaccess
 accesscheck.class.php
 global.php
さらにサブフォルダーを追加で

ここからは、かなり適当な条件しか作っていないけど
html/language/japanese/patterns/
   badagent_pattern.inc.php
   index.html
   nopost_pattern.inc.php
   pukiwikiagent_pattern.inc.php

上記を少しdsblチェックを補足して、
エイジェント判定の条件を追加
まあ
   badagent_pattern.inc.php //スパムとしられているエイジェント判定文字列を登録する
   nopost_pattern.inc.php  //そのほかのbot系のPOSTするはずないもの判定文字列
   pukiwikiagent_pattern.inc.php //ブラウザーエイジェントとして認識できないものの判定(snoopy や RSSツール系のその他を引っ掛けるため)

ぐらいでそれなに使えるかな?

エイジェントの文字列の判定では、
すぐに古くてつかえなくなるのと
下手な条件にすると、自分までログインできない
でしょうが
少しでもあった方が良いかな?というのと
まめな人は追加訂正メンテできるでしょうから

もう一度
問題が出た場合は
Xoops 原本の global.php を上書きすれば元にもどります。

追記:
その後、私のところでは、幸い効果がありましたが


効果が無かった例もあります
http://www.peak.ne.jp/xoops/md/xhnewbb/viewtopic.php?topic_id=1575&post_id=5875#forumpost5875


---------------
情報だけでも、

イメージ認証のもので
このサイトで
http://www.dugris.info/
ダウンロードできる
まず
SecurityImage 1.5
ダウンロードして
class/xoopsformloader.php
に、エディタで securityimage.php も読み込む指定の追加がひつようなようですが?
http://www.dugris.info/smartsection-item.itemid-1.htm

xoops改造集
SecurityImages Xoops 2.0.13 関連のものなら
Xoops cube 2.0.1xで動くはずなのですが
私は、動作等を確認していません

comment
contact
Register

などのいくつかに改造済みのものもダウンロードできるようです


Re: newbbで海外からの不正な書き込みを防ぎたい 
投稿者: domifara | 投稿日時: 2006/7/11 17:04
domifara
情報の蓄積のためという、

多発傾向にあるようで、
警告は発する方が良いように思うので

かってにリンクメモ
本家xoopsでも被害を受ける人が増えているらしい

もう他のプロジェクトだから といわず
みなさん 目を通しましょう

Blocking an IP range due to comment spam?

こちらは、直接は
NewBB Spam Posts - Any simple challenge hack avail?

手前情報ですが、
Nu-nrg さんのところでは
http://nunrg.s57.xrea.com/members/
myalbum-Pでスパム投稿うけたです(ゲストに投稿許してた)

追記:2006/07/18
NEWSへの不正投稿について
は、正確にはコメントに対するスパム
xoops2.0.1xのコメントは xoopsトークンチェックもされていないのでゲストに許可するとスパム投稿に対しては無防備です
Re: newbbで海外からの不正な書き込みを防ぎたい 
投稿者: minahito | 投稿日時: 2006/7/18 12:29
minahito
domifaraさんが作ったものを XOOPS Cube 2.1 の現 CVS 用のものとして(α3ではプリロードのルール変更の関係で、そのままでは動作しない)、モジュール化してみました。

http://homepage.mac.com/minahito/.Public/dsblCheck.zip

α3で試す場合は、


<?php

if (!defined('XOOPS_ROOT_PATH')) exit();

class DsblCheck_A3 extends XCube_ActionFilter
{
  function preBlockFilter()
  {
    if ($_SERVER['REQUEST_METHOD'] != 'GET') {
      require_once XOOPS_MODULE_PATH . "/dsblCheck/class/accesscheck.class.php";
      $domicheck =& new DomiAccesscheckHandler();
      $domicheck->post_check();
    }
  }
}

?>


というファイルを DsblCheck_A3.class.php という名前で作成してルートパスののほうの preload ディレクトリに入れれば動作すると思います。

なにかのトラブルで、復旧できなくなった場合は、各プリロード内のファイルを取り除けばチェッカーが起動しなくなるので、そのまま管理画面に入れます。
Re: newbbで海外からの不正な書き込みを防ぎたい 
投稿者: ohwada | 投稿日時: 2006/7/27 0:25
ohwada
この1ヶ月くらいで、contact経由のスパムが急増しました。
メールのスパムフィルタで篩がかかるので、他のスパムメールと同じくウザイと思うくらいですが。

で、サーバー側でも篩が必要だと思い、ベイジアン・フィルタを調べてみた。
メモ代わりに書いておく。
- PHP Naive Bayesian Filter
- Text Filter Suite Plugin for WordPress
- Bayesian filter for MT

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top