[[PukiWiki/1.4/ちょっと便利に]]

*Akismetによるspam(スパム)防止機能 -- konuma [#mbe35572]

- 2006-12-20 (水) 13:13:16

**目次 [#n0b9f4b6]
#contents

**概要 [#gb302814]
Akismetを利用したSpam防止libファイルです。
-[[Akismet>http://akismet.com/development/]]
-[[PHP4 Akismet Class>http://miphp.net/blog/view/php4_akismet_class]]

CommentやTrackerの投稿内容をチェックし、Spamを投稿させないようにすることができます。

**ダウンロード [#m30107ab]
こちらからダウンロードできます。
-http://www.ark-web.jp/sandbox/wiki/190.html

**使用方法 [#rbd41b87]
こちらを参照してください。
-http://www.ark-web.jp/sandbox/wiki/190.html

***コメント [#xf620ae2]
- 感想などお待ちしています。 -- [[小沼]] &new{2006-12-20 (水) 13:22:45};
- http://www.ark-web.jp/blog/archives/2006/12/pukiwikiakismet.html?rss10 --  &new{2006-12-21 (木) 23:47:03};
- お疲れ様です。Akismetに関する概要説明がこの上のblogエントリにしかありませんから、初めての方は手を出し辛いかもしれません (^^; -- [[henoheno]] &new{2006-12-23 (土) 13:31:00};
- ありがとうございます。確かに手を出しにくいかもしれないですね(^^; -- [[小沼]] &new{2006-12-25 (月) 09:52:17};
- GIGAZINEによる紹介((最初にpostした方へ:あまりに補足がなさすぎて、SPAMと間違われて消されていましたよ)) http://gigazine.net/index.php?/news/comments/20070127_akismet/ --  &new{2007-01-28 (日) 08:21:34};
- 1.4.7にて導入してみようとしたのですが、動きませんでした。lib/pulgin.php を書き換えて適用した時点で全てwikiが固まります --  &new{2007-01-30 (火) 03:33:10};
- 私もAkismetはBlogで使用していますが、非常に強力で重宝しています。導入して2ヶ月、一度もSPAMを突破された事がありません。PukiWikiで公式に利用できるようになると非常に嬉しいです。 -- [[AntiSpam]] &new{2007-02-07 (水) 12:06:45};
- クラスの仕様が変わって既に小沼さんのakismet_filter.phpの内容は古くなっているようです。以下にcommentプラグインを直接改造する例を挙げておきます。(comment.inc.php 30行目付近。<PukiWikiのURI>と<API Key>は各サイトに合わせて変更) --  &new{2007-02-09 (金) 02:14:52};
  if (! isset($vars['msg'])) return array('msg'=>'', 'body'=>''); // Do nothing
 
 +//////////////////////////////////////////////
 +// SPAM chek by akismet
 +require_once(LIB_DIR.'akismet.class.php');
 +	
 +// load array with comment data
 +$comment = array(
 +	'author'       => $vars['name'],
 +	'email'        => '',
 +	'website'      => '',
 +	'body'         => $vars['msg'],
 +	'permalink'    => ''
 +);
 +	
 +// instantiate an instance of the class
 +$akismet = new Akismet('<PukiWikiのURI>', '<API Key>', $comment);
 +
 +// test for errors
 +if($akismet->errorsExist()) { // returns true if any errors exist
 +	$akismet_msg = '';
 +	if($akismet->isError('AKISMET_INVALID_KEY')) {
 +		$akismet_msg = 'akismet : APIキーが不正です.';
 +	} elseif($akismet->isError('AKISMET_RESPONSE_FAILED')) {
 +		$akismet_msg = 'akisumet : レスポンスの取得に失敗しました';
 +	} elseif($akismet->isError('AKISMET_SERVER_NOT_FOUND')) {
 +		$akismet_msg = 'akismet : サーバへの接続に失敗しました.';
 +	}
 +	return array('msg'=>'投稿内容の確認中にエラーが発生しました.', 'body'=>$akismet_msg);
 +} else {
 +	if ($akismet->isSpam()) { // returns true if Akismet thinks the comment is spam
 +		return array('msg'=>'投稿内容の確認中にエラーが発生しました.', 'body'=>'投稿はスパムと判断されました.');
 +	}
 +}
 +//////////////////////////////////////////////
 
  $vars['msg'] = str_replace("\n", '', $vars['msg']); // Cut LFs


#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.034 sec.

OSDN