スパム対策を施してみたテスト版 POTI-board v1.33b1 のリリースノートでぃす。
・12月08日15時半頃公開(lot.081208 )
長い間放置してて申し訳ない。
2005年後半頃からスパムが多くなってきたので対策をいろいろ試していたけど、ある程度除外できてるみたいなので公開する事にしました。
【追加】
(1) テンポラリ内の総容量をチェックして古いファイルを削除する機能を追加
(2) コメント内にURL(http)を書ける回数を規制。設定数を超えたら投稿エラー
(3) コメント内のURL(http)がどの国なのかで規制。規制対象国だったら投稿エラー
(4) スパムチェック機能を追加
・規制対象外リストでチェックしないホストを設定可能
・Refererを返さないホストは規制
・ちゃんとしたIPが取得できないホストは規制
・逆引きできないホスト規制
・正引きと逆引きが矛盾しているホストは規制
・IP割当国がJP以外は規制
・公開プロキシ規制
※外部にあるブラックリストを参照するので重たくなります
【修正】
(5) レス先が無い投稿はエラーにする
【おまけ】
(6) IPまたはホスト名からIP割当国・ブラックリスト・ポートのチェックをする iphost_chk.php を同封
※単独で動く簡単なチェックスクリプトです
(1) テンポラリ内の総容量をチェックして古いファイルを削除する機能を追加
以前からの期限で削除する機能との併用で、絵の投稿失敗や悪戯によるゴミを抑制できるでしょう。
【config.php】
// テンポラリ内の容量制限(KB)
define(TEMPDIR_MAX_KB, '5000');
TEMPDIR_MAX_KB
テンポラリ内にあるファイルの総容量がこれを超えたら古いファイルから順に削除します。単位はKB(キロバイト)
(2) コメント内にURL(http)を書ける回数を規制。設定数を超えたら投稿エラー
【config.php】
// コメントにhttpを書ける回数
define(HTTP_COUNT, 5);
HTTP_COUNT
コメント内でURL(http)が書ける回数です。これを超えた回数を記入していたら投稿を受け付けません。
(3) コメント内のURL(http)がどの国なのかで規制。規制対象国だったら投稿エラー
【config.php】
// コメント内のURL(http)を国で規制する
$bad_country = array(
"my"
,"tw"
,"XX"
);
$bad_country
コメント内のURL(http)がどの国のものか調べ、この規制リストにある国だったら投稿を受け付けません。
※"XX"は国がわからない状態です。
(4) スパムチェック機能を追加
今回のバージョンアップのメイン。設定をガチガチにするとスパム以外の投稿もできなくなる恐れがある諸刃の剣。
【config.php】
// 書き込み規制対象外ホスト
$white_list = array();
// Refererを返さないホストからの投稿を禁止する する:1 しない:0
define(DENY_NON_HTTP_REFERER, '1');
// ちゃんとしたIPが取得できないホストからの投稿を禁止する する:1 しない:0
define(DENY_BAD_IP, '1');
// 逆引きできないホストからの投稿を禁止する する:1 しない:0
define(DENY_UNRESOLVABLE_HOST, '1');
// 正引きと逆引きが矛盾しているホストからの投稿を禁止する する:1 しない:0
define(DENY_BAD_HOST, '1');
// IPアドレス割当国がJP以外からの投稿を禁止する する:1 しない:0
define(DENY_NOT_JP, '1');
// 公開プロキシ規制
$rbl_hostlist = array(
"niku.2ch.net"
,"dnsbl.spam-champuru.livedoor.com"
,"list.dsbl.org"
);
$white_list
このリストに登録されたホスト名から投稿された場合はスパムチェックしません。
DENY_NON_HTTP_REFERER
Referer(アクセス元)がわからない場合は投稿を禁止にします。
DENY_BAD_IP
IPアドレスが正常ではなかった場合は投稿を禁止にします。
DENY_UNRESOLVABLE_HOST
逆引き(IPアドレスからホスト名を取得)できないホストの場合は投稿を禁止にします。
DENY_BAD_HOST
正引き(ホスト名からIPアドレスを取得)と逆引きが矛盾していた(一致しない)場合は投稿を禁止にします。
DENY_NOT_JP
IPアドレスの割当国が日本(JP)以外の場合は投稿を禁止にします。
$rbl_hostlist
リスト上のホストにアクセスしてIPアドレスが登録されていた場合は投稿を禁止にします。
★外部にアクセスするので重たくなります。
DSBL(list.dsbl.org)はデフォで残して他は好みで残すといいかも
BBQ(niku.2ch.net)は2chで使われている → http://info.2ch.net/wiki/pukiwiki.php?BBQ
スパムちゃんぷるー(dnsbl.spam-champuru.livedoor.com)はライブドアが提供するスパムフィルタ
※規制しない場合はリスト内を消してください
(5) レス先が無い投稿はエラーにする
存在しないスレッドに対するレスを受け付けていたので、それをエラー扱いにした。
■POTI-board v1.32 からのバージョンアップ方法
potiboard.php を置き換えて、config.php に今回の新しい設定を加えてください。
【ダウンロード】
>POTI-board v1.33b1 lot.081208
[ このエントリへはコメント出来ません ]
物凄い細かい突っ込みですがサムネイルサイズが 表示側で正しくない場合がありますね たとえばサムネイルサイズを250指定した場合で サムネイル生成サイズが横250縦140で出来ているのに 何故か生成される表示用ボードソース側では width=251 height=141になってる場合があります 必ず+1なのかと思って色々見てみましたが 増えない場合もあるようで良く分かりませんでした
... hinabita (03/16 18:30) [1]
rNoteへの画像認証の追加方法を教えて頂けるとありがたいです。 あとホームページの方を移転致しましたが、画像置き場として これからも使うのでアカウントは消さないでください。
今後ともよろしくです。
中国や海外からの意味不明のコメントを防ぐことができるのでしょうか? 以前、中国語の招聘広告がたくさん、コメントに入っていて、 削除に困り、コメントを受け付けないようにしました。 国別にコメントを防げるなら良いですね。
まだしばらくはアップデートとかないのでしょうか? 配布テンプレートのMONO WHITE には日本語のスパム書き込みがあるようです。
... ココ (04/03 20:08) [4]
いつもpotiboard使わせて頂いています config.phpにて //最大ログ数 define(LOG_MAX, '400000'); と設定しているのですが、実際には4096を越えると 古いほうから消えてしまうようなのです どこか別の設定画あるのか、4096がphp的な何かの仕様なのかは不明です どのように対処したら良いでしょうか…?
|
|
|