[
自宅サーバーWebRing
┃
前
|ID=54
前後5表示
|
次
┃
乱移動
|
サイト一覧
]
このサイト内
書籍 DVD CD
Google(日本語)
Google(Web全体)
Google(イメージ)
Google(キャッシュ)
Yahoo! JAPAN
goo 英和
goo 和英
goo 国語
goo 新語
サイトマップ
リンク集
ダウンロード
フォーラム
Users Wiki
最新情報
TOP
»
UsersWiki
»
nao-pon
»
blog
» 2006-08-28 をテンプレートにして作成
|
一覧
検索
最新
ヘルプ
ページへ戻る
履歴
リンク元
印刷
POST SPAM 対策を考える
をテンプレートにして作成
UsersWiki
:nao-pon/blog/2006-08-28 をテンプレートにして作成
開始行:
** POST SPAM 対策を考える
#keyword()
RIGHT:&tag(プログラミング);
最近、POST SPAM が%%うざい%%鬱陶しいので、ちょっと対策を...
面倒なので、XOOPS全体でPOST時にチェックをかけてみます。
*** HypCommonFunc に関数を追加。
<a>タグの数、BBコードの[URL=]の数、URLの数をカウントしま...
汎用関数の get_postspam_avr() で POSTデータ中に含まれる合...
#code(){{{
// POST SPAM Check
function PostSpam_Check($post)
{
static $filters = NULL;
if (is_null($filters)) {$filters = HypCommonFunc::PostS...
$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'] ...
if (is_array($dat))
{
list($tmp['a'],$tmp['bb'],$tmp['url'],$tmp['filter'])...
}
else
{
// <a> タグの個数
$tmp['a'] = count(preg_split("/<a.+?\/a>/i",$dat)) - 1;
// [url] タグの個数
$tmp['bb'] = count(preg_split("/\[url=.+?\/url\]/i",$...
// URL の個数
$tmp['url'] = count(preg_split("/(ht|f)tps?:\/\/...
// フィルター
if ($filters)
{
foreach($filters as $reg => $point)
{
$counts[3] += (count(preg_split($reg,$dat)) - 1) * ...
//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::Pos...
return $a_p * $alink + $bb_p * $bb + $url_p * $url + $...
}
else
{
return 0;
}
}
}}}
*** XOOPS_ROOT/include/common.php の最後に次の内容を書き...
この例では、ゲストは 15ポイント超、ログインユーザーは 30...
#code(){{{
// PostSpam をチェック by nao-pon
HypCommonFunc::PostSpam_filter("/((?:ht|f)tps?:\/\/...
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 に投...
----
-&areaedit(uid:288,preview:5){おおおおおぉぉぉぉぉぉ!!...
-&areaedit(uid:1,preview:5){そうですね。テキストパターン...
#comment(,btn:つっこみ)
----
終了行:
** POST SPAM 対策を考える
#keyword()
RIGHT:&tag(プログラミング);
最近、POST SPAM が%%うざい%%鬱陶しいので、ちょっと対策を...
面倒なので、XOOPS全体でPOST時にチェックをかけてみます。
*** HypCommonFunc に関数を追加。
<a>タグの数、BBコードの[URL=]の数、URLの数をカウントしま...
汎用関数の get_postspam_avr() で POSTデータ中に含まれる合...
#code(){{{
// POST SPAM Check
function PostSpam_Check($post)
{
static $filters = NULL;
if (is_null($filters)) {$filters = HypCommonFunc::PostS...
$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'] ...
if (is_array($dat))
{
list($tmp['a'],$tmp['bb'],$tmp['url'],$tmp['filter'])...
}
else
{
// <a> タグの個数
$tmp['a'] = count(preg_split("/<a.+?\/a>/i",$dat)) - 1;
// [url] タグの個数
$tmp['bb'] = count(preg_split("/\[url=.+?\/url\]/i",$...
// URL の個数
$tmp['url'] = count(preg_split("/(ht|f)tps?:\/\/...
// フィルター
if ($filters)
{
foreach($filters as $reg => $point)
{
$counts[3] += (count(preg_split($reg,$dat)) - 1) * ...
//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::Pos...
return $a_p * $alink + $bb_p * $bb + $url_p * $url + $...
}
else
{
return 0;
}
}
}}}
*** XOOPS_ROOT/include/common.php の最後に次の内容を書き...
この例では、ゲストは 15ポイント超、ログインユーザーは 30...
#code(){{{
// PostSpam をチェック by nao-pon
HypCommonFunc::PostSpam_filter("/((?:ht|f)tps?:\/\/...
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 に投...
----
-&areaedit(uid:288,preview:5){おおおおおぉぉぉぉぉぉ!!...
-&areaedit(uid:1,preview:5){そうですね。テキストパターン...
#comment(,btn:つっこみ)
----
ページ名:
ぺージ情報
ぺージ名 :
nao-pon/blog/2006-08-28
ページ別名 :
未設定
ページオーナー :
nao-pon
閲覧可
グループ :
すべての訪問者
ユーザー :
すべての訪問者
編集可
グループ :
なし
ユーザー :
ゲスト
Counter: 0, today: 0, yesterday: 0
メインメニュー
ホーム
価格比較 百貨
UsersWiki
新規ページ作成
最新ページ一覧
全ページ一覧
全コメント一覧
ヘルプ
xpwiki
お問い合わせ
ファイルマネージャー
ログイン
ユーザー名:
パスワード:
パスワード紛失
|
新規登録
最近の更新
最新の20件
2023-05-14
nao-pon
/
gmap + gmap_street + gmap_insertmarker
nao-pon
/
googlemaps2
2023-03-22
PublicBlog
/
The Importance of QFP in PCB
2023-02-28
FrontPage
/
PCB terminology you must know
2023-01-20
nao-pon
/
blog
/
ESP8266 を壊してしまいました しかも続けて2回も
2022-09-22
nao-pon
/
blog
/
ESP32 + ESPHome の Bluetooth Proxy で SwitchBot Mater
2022-08-26
nao-pon
/
blog
/
独自ビルドの Tasmota を 12.1.1 へ
2022-08-19
nao-pon
/
blog
/
Zigbee + ZHA のメモ書き
2022-01-17
nao-pon
/
blog
/
HomeAssistant 統合の Tasmota-IRHVAC に貢献
2021-08-03
nao-pon
/
ファイル置き場
/
スペースサワダ
2021-07-01
nao-pon
/
blog
/
HomeAssistant 統合の Tasmota-IRHVAC の不具合修正
2021-06-20
nao-pon
/
blog
/
Tasmota を 9.4.0 から 9.5.0 へアップデート
2021-06-15
nao-pon
/
blog
/
ミンティア[MINTIA] で WiFi 6ボタンスイッチを作った
2021-04-27
PublicBlog
2021-03-17
nao-pon
/
blog
/
SwitchBot 温湿度計を ESP32 でモニタリング
2021-03-13
nao-pon
/
blog
/
東芝エアコンのエントリーモデルもWiFi化
2021-02-23
risoulaser
2021-02-18
nao-pon
/
blog
/
Panasonic (ナショナル) エアコンの 2008 年モデルも WiFi 化
2021-02-15
nao-pon
/
blog
/
Tasmota で HA 端子(JEM-A) 連携
2021-02-07
nao-pon
/
blog
/
Tasmota で三菱エアコンを完全コントロール
オンライン状況
415 人のユーザが現在オンラインです。 (4 人のユーザが UsersWiki を参照しています。)
登録ユーザ: 0
ゲスト: 415
もっと...
サイト情報