<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Simon.Chi &#187; 反垃圾评论</title>
	<atom:link href="http://www.adwi.net/tag/%e5%8f%8d%e5%9e%83%e5%9c%be%e8%af%84%e8%ae%ba/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adwi.net</link>
	<description>永恒的我,最美的木乃伊!</description>
	<lastBuildDate>Mon, 21 Jun 2010 18:36:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WordPress 防止垃圾评论算术验证码安装手记</title>
		<link>http://www.adwi.net/wordpress-%e9%98%b2%e6%ad%a2%e5%9e%83%e5%9c%be%e8%af%84%e8%ae%ba%e7%ae%97%e6%9c%af%e9%aa%8c%e8%af%81%e7%a0%81%e5%ae%89%e8%a3%85%e6%89%8b%e8%ae%b0/</link>
		<comments>http://www.adwi.net/wordpress-%e9%98%b2%e6%ad%a2%e5%9e%83%e5%9c%be%e8%af%84%e8%ae%ba%e7%ae%97%e6%9c%af%e9%aa%8c%e8%af%81%e7%a0%81%e5%ae%89%e8%a3%85%e6%89%8b%e8%ae%b0/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 20:53:27 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[反垃圾评论]]></category>

		<guid isPermaLink="false">http://www.adwi.net/wordpress-%e9%98%b2%e6%ad%a2%e5%9e%83%e5%9c%be%e8%af%84%e8%ae%ba%e7%ae%97%e6%9c%af%e9%aa%8c%e8%af%81%e7%a0%81%e5%ae%89%e8%a3%85%e6%89%8b%e8%ae%b0/</guid>
		<description><![CDATA[Blog防止垃圾评论一直是个头痛的问题，以前我用Bo-Blog的时候整天N多垃圾评论，带N多连接，后来把评论需要审核后显示，但这样不能解决根本问题，每天后台删除垃圾评论就要花费不少时间，近日Blog重开换成WordPress后也要考虑这个问题WordPress有自带一个Akismet插件，能过滤部份垃圾评论但效果不理想，然后试了好几个插件都也不太理想，在Google搜索了老半天，后面听说用算术验证方式来做为验证码效果很不错，并介绍了款插件：Math Comment Spam Protection，试用了效果还可以，但后面又搜索到老二的博客上有更简单的方法可以实现这个功能（本人不喜欢装太多插件，理论上插件装太多会影响速度，还有可能造成一些不兼容的问题）。于是把 Math Comment Spam Protection 插件删除后按老二的博客所提到的方法进行了改造，并做了稍稍修改，使其能通过W3C验证。
方法如下：

修改 wp-comments-post.php ：
查找：
if ( '' == $comment_content )
在其上面添加代码：
//Fufu_checkcode
if ( !$user-&#62;ID ) {
$aaa = trim($_POST[aaa]);
$bbb = trim($_POST[bbb]);
$subab = trim($_POST[subab]);
if((($aaa+$bbb)!=$subab)&#124;&#124; empty($subab)){
wp_die( __('Error: Please enter the correct results of the math problems.') );
}
}
//Fufu_end
然后修改当前主题目录下的 comments.php (我用的 iNove) ，在适当的位置添加代码，我是在提交按钮之前添加的，即查找：
&#60;input name="submit" type="submit" id="submit"
在其前面添加代码：
&#60;?php if (!$user_ID) : ?&#62;
&#60;?php $aaa=rand(0,5); $bbb=rand(3,9); ?&#62;&#60;?php echo $aaa; ?&#62;+&#60;?php [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-6" title="wordpress" src="http://www.adwi.net/wp-content/uploads/2009/05/wordpress.jpg" alt="wordpress" width="100" height="100" />Blog防止垃圾评论一直是个头痛的问题，以前我用Bo-Blog的时候整天N多垃圾评论，带N多连接，后来把评论需要审核后显示，但这样不能解决根本问题，每天后台删除垃圾评论就要花费不少时间，近日Blog重开换成WordPress后也要考虑这个问题WordPress有自带一个Akismet插件，能过滤部份垃圾评论但效果不理想，然后试了好几个插件都也不太理想，在Google搜索了老半天，后面听说用算术验证方式来做为验证码效果很不错，并介绍了款插件：Math Comment Spam Protection，试用了效果还可以，但后面又搜索到老二的博客上有更简单的方法可以实现这个功能（本人不喜欢装太多插件，理论上插件装太多会影响速度，还有可能造成一些不兼容的问题）。于是把 Math Comment Spam Protection 插件删除后按老二的博客所提到的方法进行了改造，并做了稍稍修改，使其能通过W3C验证。</p>
<p>方法如下：</p>
<p><span id="more-86"></span></p>
<p>修改 wp-comments-post.php ：</p>
<p>查找：</p>
<blockquote><p>if ( '' == $comment_content )</p></blockquote>
<p>在其上面添加代码：</p>
<blockquote><p>//Fufu_checkcode<br />
if ( !$user-&gt;ID ) {<br />
$aaa = trim($_POST[aaa]);<br />
$bbb = trim($_POST[bbb]);<br />
$subab = trim($_POST[subab]);<br />
if((($aaa+$bbb)!=$subab)|| empty($subab)){<br />
wp_die( __('Error: Please enter the correct results of the math problems.') );<br />
}<br />
}<br />
//Fufu_end</p></blockquote>
<p>然后修改当前主题目录下的 comments.php (我用的 iNove) ，在适当的位置添加代码，我是在提交按钮之前添加的，即查找：</p>
<blockquote><p>&lt;input name="submit" type="submit" id="submit"</p></blockquote>
<p>在其前面添加代码：</p>
<blockquote><p>&lt;?php if (!$user_ID) : ?&gt;<br />
&lt;?php $aaa=rand(0,5); $bbb=rand(3,9); ?&gt;&lt;?php echo $aaa; ?&gt;+&lt;?php echo $bbb; ?&gt;=<br />
&lt;input type="text" name="subab" id="subab" size="2" tabindex="5" style="width:20px" /&gt;&lt;?php if ($req) _e('(required)', 'inove'); ?&gt;<br />
&lt;input name="aaa" value="&lt;?php echo $aaa; ?&gt;" type="hidden" /&gt;<br />
&lt;input name="bbb" value="&lt;?php echo $bbb; ?&gt;" type="hidden" /&gt;<br />
&lt;?php endif; ?&gt;</p></blockquote>
<p>如果你的主题不是 iNove 的话下面这段代码要做相应的修改，这段代码的意思是“(必填)”需要对应模板的语言。</p>
<blockquote><p>&lt;?php if ($req) _e('(required)', 'inove'); ?&gt;</p></blockquote>
<p>修改好后，用用看实际的效果如何吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adwi.net/wordpress-%e9%98%b2%e6%ad%a2%e5%9e%83%e5%9c%be%e8%af%84%e8%ae%ba%e7%ae%97%e6%9c%af%e9%aa%8c%e8%af%81%e7%a0%81%e5%ae%89%e8%a3%85%e6%89%8b%e8%ae%b0/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>
