hypweb.net
XOOPSマニア  最新情報のRSS(サイト全体)
[ 自宅サーバーWebRing |ID=54 前後5表示乱移動サイト一覧 ]

TOP » UsersWiki » calendar nao-pon/blog/2006.08
Archives
2003
1 2 3 4 5 6 7 8 9 10 11 12
2004
1 2 3 4 5 6 7 8 9 10 11 12
2005
1 2 3 4 5 6 7 8 9 10 11 12
2006
1 2 3 4 5 6 7 8 9 10 11 12
2007
1 2 3 4 5 6 7 8 9 10 11 12
2008
1 2 3 4 5 6 7 8 9 10 11 12
2009
1 2 3 4 5 6 7 8 9 10 11 12
2010
1 2 3 4 5 6 7 8 9 10 11 12
2011
1 2 3 4 5 6 7 8 9 10 11 12
2012
1 2 3 4 5 6 7 8 9 10 11 12
2013
1 2 3 4 5 6 7 8 9 10 11 12
2014
1 2 3 4 5 6 7 8 9 10 11 12
2015
1 2 3 4 5 6 7 8 9 10 11 12
2016
1 2 3 4 5 6 7 8 9 10 11 12
2017
1 2 3 4 5 6 7 8 9 10 11 12
2020
1 2 3 4 5 6 7 8 9 10 11 12
2021
1 2 3 4 5 6 7 8 9 10 11 12
2022
1 2 3 4 5 6 7 8 9 10 11 12
2023
1 2 3 4 5 6 7 8 9 10 11 12
<< 2006.8 >>
[nao-pon/blog]
    2 3 4 5
7 8 9 10 11 12
13 14 15 16 18 19
20 21 22 23 24 26
27 29 30 31    
 
Tag: Moblog

糊を漉しています。 anchor.png

06-08-01_10-08.jpg

手づくりで炊いた糊を馬毛の漉し器で滑らかかつ粘り気が出るようにしています。

メールシステムのテストを兼ねて。

at 10:13 am




 
Tag: Moblog

もやっと?ボール anchor.png

06-08-06_19-45.jpg

スペック:

本物より角が小さめで捕球時のショックを和らげている模様。

(^_^)

at 7:51 pm




 
Tag: Moblog

土砂降りの雨 anchor.png

06-08-17_15-59.jpg

台風の影響だろうか。

物凄い雨です。

土砂降りの雨〜なんたらかんたら〜 って歌あったっけ?

記憶違いかな?

( ̄▽ ̄;)

at 4:05 pm



 

SoftBank 904SH に機種変 anchor.png

Tag:

904sh_01.jpg

SoftBank 904SH に機種変した〜い!

でも、発売日は未定。905SH と 705SH は発売されているのに・・・。 ;(

とりあえず、発売日だけでも知りたい。

誰か知らない?





 

POST SPAM 対策を考える anchor.png

最近、POST SPAM がうざい鬱陶しいので、ちょっと対策を考えてみました。

面倒なので、XOOPS全体でPOST時にチェックをかけてみます。

Page Top
HypCommonFunc に関数を追加。 anchor.png

<a>タグの数、BBコードの[URL=]の数、URLの数をカウントします。

汎用関数の get_postspam_avr() で POSTデータ中に含まれる合計を取得できます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
	// POST SPAM Check
	function PostSpam_Check($post)
	{
		static $filters = NULL;
		if (is_null($filters)) {$filters = HypCommonFunc::PostSpam_filter();}
		$counts = array();
		$counts[0] = $counts[1] = $counts[2] = $counts[3] = 0;
		foreach($post as $dat)
		{
			$tmp = array();
			$tmp['a'] = $tmp['bb'] = $tmp['url'] = $tmp['filter'] = 0;
			if (is_array($dat))
			{
				list($tmp['a'],$tmp['bb'],$tmp['url'],$tmp['filter']) = HypCommonFunc::PostSpam_Check($dat);
			}
			else
			{
				// <a> タグの個数
				$tmp['a'] = count(preg_split("/<a.+?\/a>/i",$dat)) - 1;
				// [url] タグの個数
				$tmp['bb'] = count(preg_split("/\[url=.+?\/url\]/i",$dat)) - 1;
				// URL の個数
				$tmp['url'] = count(preg_split("/(ht&#x7c;f)tps?:\/\/[^\s]+/i",$dat)) - 1;
				// フィルター
				if ($filters)
				{
					foreach($filters as $reg => $point)
					{
						$counts[3] += (count(preg_split($reg,$dat)) - 1) * $point;
						//echo $dat."<br>".$reg.": ".$counts[3]."<hr>";
					}
				}
			}
			$counts[0] += $tmp['a'];
			$counts[1] += $tmp['bb'];
			$counts[2] += $tmp['url'];
			$counts[3] += $tmp['filter'];
		}
		return $counts;
	}
	
	// POST SPAM フィルター
	function PostSpam_filter($reg="", $point=1)
	{
		static $regs = array();
		if (empty($reg)) {return $regs;}
		$regs[$reg] = $point;
	}
	
	// POST SPAM Check 汎用関数
	function get_postspam_avr($alink=1,$bb=1,$url=1)
	{
		if ($_SERVER['REQUEST_METHOD'] == 'POST')
		{
			list($a_p,$bb_p,$url_p,$filter_p) = HypCommonFunc::PostSpam_Check($_POST);
			return $a_p * $alink + $bb_p * $bb + $url_p * $url + $filter_p;
		}
		else
		{
			return 0;
		}
	}
Page Top
XOOPS_ROOT/include/common.php の最後に次の内容を書き加えます。 anchor.png

この例では、ゲストは 15ポイント超、ログインユーザーは 30ポイント超で、弾かれます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
	// PostSpam をチェック by nao-pon
	HypCommonFunc::PostSpam_filter("/((?:ht&#x7c;f)tps?:\/\/[!~*'();\/?:\@&=+\$,%#\w.-]+).*?<a.+?\\1.+?\/a>.*?\[url=\\1.+?\/url\]/is", 11);
	if (!is_object($xoopsUser))
	{
		if (HypCommonFunc::get_postspam_avr() > 15)
		{
			header("Location: ".XOOPS_URL."/");
			exit();
		}
	}
	else if (!$xoopsUserIsAdmin)
	{
		if (HypCommonFunc::get_postspam_avr() > 30)
		{
			header("Location: ".XOOPS_URL."/");
			exit();
		}
	}

しばらく、これで様子を見てみて調子がいいようなら CVS に投入します。


  • おおおおおぉぉぉぉぉぉ!!はじくテキストパターンも簡単に追加できるようになるといいなぁ。でもこのままでも最高! -- t_miyabi 2006-08-28 (月) 16:12:15
  • そうですね。テキストパターンフィルターも必要ですね。ということで上記のコードを修正しました。
    正規表現のフィルターとその加算ポイントを追加できます。
    とりあえず追加したフィルターは、
    HypCommonFunc::PostSpam_filter("/((?:ht|f)tps?:\/\/[!~*'();\/?:\@&=+\$,%#\w.-]+).*?<a.+?\\1.+?\/a>.*?\[url=\\1.+?\/url\]/is", 11);
    です。
    -- nao-pon&trip("iq8llSWq9g"); 2006-08-29 (火) 10:51:32




トップ 印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
このページのTopへ
メインメニュー
ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録
最近の更新
オンライン状況
364 人のユーザが現在オンラインです。 (5 人のユーザが UsersWiki を参照しています。)

登録ユーザ: 0
ゲスト: 364

もっと...
サイト情報