PukiWiki/1.4/ちょっと便利に

Akismetによるspam(スパム)防止機能

目次

概要

WordPress用スパム対策プラグインとして開発されており、多数のWordPress利用者から「最強」との呼び声が高いプラグイン「Akismet」

を PukiWiki で利用します。 投稿内容をチェックし、Spamを防止することができます。

事前準備

ファイルの書き換え

lib/pukiwiki.php を変更します。

// Spam filtering
if ($spam && $method != 'GET') {
.
.
.
}

のような箇所があります。そこを以下に置き換えます。<API Key> を取得した API Key に変更します。

// Spam filtering
if (isset($vars['msg']) && $vars['msg'] != '' && $method != 'GET') {
	// SPAM chek by akismet
	require_once(LIB_DIR . 'akismet.class.php');
	// load array with comment data
	$comment = array(
		'author'       => isset($vars['name']) ? $vars['name'] : '',
		'email'        => '',
		'website'      => '',
		'body'         => $vars['msg'],
		'permalink'    => '',
		'user_ip'      => $_SERVER['REMOTE_ADDR'],
		'user_agent'   => $_SERVER['HTTP_USER_AGENT'],
	);
	// instantiate an instance of the class
	$akismet = new Akismet(get_script_uri(), '<API Key>', $comment);

	// test for errors
	if($akismet->errorsExist()) { // returns true if any errors exist
		if($akismet->isError('AKISMET_INVALID_KEY')) {
			die_message('akismet : APIキーが不正です.');
		} elseif($akismet->isError('AKISMET_RESPONSE_FAILED')) {
			//die_message('akismet : レスポンスの取得に失敗しました');
		} elseif($akismet->isError('AKISMET_SERVER_NOT_FOUND')) {
			//die_message('akismet : サーバへの接続に失敗しました.');
		}
	} elseif ($akismet->isSpam()) { // returns true if Akismet thinks the comment is spam
		die_message('投稿はスパムと判断されました.');
	}
}

相談所

問題

解決策

参照

コメント


*1 最初にpostした方へ:あまりに補足がなさすぎて、SPAMと間違われて消されていましたよ
*2 2007-01-30 (火) 03:33:10の症状?

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-08-11 (水) 14:47:42
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.253 sec.

SourceForge