* CVS更新 -- [[henoheno]] [#o3c45317]

** spam.php追加 (CVS版に) [#y3177106]

- [[開発日記/2006-11-04]] のフィルタについては、teananさんにも別途コメントをいただいていますが、既存のPukiWiki管理者向けに別途リリースする事も選択肢の一つとなるように作業しています。ただ現状のままではまだ組み込みが煩雑なのと、関数がきちんと整理されていないのとで、どちらにせよ完成度を高めるべく再構成を行っています。
-- [[cvs:lib/spam.php]] (1.1) とりあえず現状を追加しました。中身は今後も思い切り変更される可能性があります。


** spam.php: 現状の組み込み手順 [#h04095ca]
** spam.php: [[冒険者]]向け: 現状の組み込み手順 [#h04095ca]

(これで動かせる人は、今すぐ試せるはずです)

試す場合は自己責任で、以下のようにして下さい。

spam.phpをロードする部分。lib/init.php 307行目あたり
  $post   = & $_POST;
  $cookie = & $_COOKIE;
 
 +if (! empty($post)) {
 +       require(LIB_DIR . 'spam.php');
 +}

チェックする部分。lib/init.phpあたりでもっとうまくやれるはずですが、現状は各プラグイン(のplugin_xxx_action())に仕掛けており、面倒です。editプラグインについては、割り切ったサイトでもない限り、現状は設置しない方がよいでしょう。

pcommentの場合 (commentもほぼ同じ)
 --- pcomment.inc.php    3 Oct 2006 14:16:31 -0000       1.44
 +++ pcomment.inc.php    12 Nov 2006 15:24:28 -0000
 @@ -51,6 +51,11 @@
         if (! isset($vars['msg']) || $vars['msg'] == '') return array();
         $refer = isset($vars['refer']) ? $vars['refer'] : '';
 
 +       // =========================================
 +       // Spam filter test
 +       pkwk_spamfilter('POST to #pcomment', $vars['refer'], $vars);
 +       // =========================================
 +

trackerの場合 (bugtrackもほぼ同じだが下記参照)
 --- tracker.inc.php     28 Nov 2005 17:48:30 -0000      1.34
 +++ tracker.inc.php     12 Nov 2006 14:22:18 -0000
 @@ -84,6 +84,11 @@
 
         if (PKWK_READONLY) die_message('PKWK_READONLY prohibits editing');
 
 +       // =========================================
 +       // Spam filter test
 +       pkwk_spamfilter('POST to #tracker', $post['_base'], $vars);
 +       // =========================================
 +

$varsが無い場合は、適宜作って下さい。
 function plugin_bugtrack_action()
 {
 -       global $post;
 +       global $post, $vars;


一通り終わったら、そのへんにあるspam uriの羅列(uriが沢山含まれている方が良い)を突っ込んでみるとブロックされるはずです。基本的に全ての入力フォームの値がチェックされます。管理者がメールを受けとっているならばメールが飛びます。

後日専用のBugTrackを立てます。((もちろん誰が立ててもいいですが :) ))

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.058 sec.

OSDN