<?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>哇寶部落格 &#187; WordPress</title>
	<atom:link href="http://blog.wabow.com/archives/tag/wordpress/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.wabow.com</link>
	<description>Wabow Information Inc. Blog</description>
	<lastBuildDate>Fri, 20 Jan 2012 09:19:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>[WordPress Plugin] NoSpamNX 阻擋機器人發送廣告、垃圾留言的最佳利器</title>
		<link>http://blog.wabow.com/archives/713</link>
		<comments>http://blog.wabow.com/archives/713#comments</comments>
		<pubDate>Wed, 08 Apr 2009 08:54:06 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[技術分享]]></category>
		<category><![CDATA[NoSpamNX]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[垃圾留言]]></category>

		<guid isPermaLink="false">http://blog.wabow.com/?p=713</guid>
		<description><![CDATA[部落格似乎已經成為現代人的基本配備；如同手機、Email 一般，與大家的生活密不可分。不論是紀錄生活點滴、抒發個人情緒或是交流最新的知識技術，透過部落格這樣的平台，任何人都可以發表對不同人事物的各種觀點與看法；而身為 Web 2.0 時代中最發燒的新星，與網路上其他使用者互動的要素當然絕對不能少！對部落格作者發表文章的回應，或是針對作者個人的留言，透過這些方式，達到社群分享的最終目的。 然而因為部落格的興起，訊息交流的便利，一些我們不需要的廣告與垃圾留言就開始充斥在部落格中；各個部落格平台無不絞盡腦汁，使出各種招數，跟這些沒有生命的廣告機器人大鬥法，因此演生出 CAPTCHA 這種辨識機器人與真人的驗證碼模式。但是「道高一呎，魔高一丈」，很快的新的廣告機器人學會了如何識別簡單的驗證碼，導致後期的驗證碼愈來愈希奇古怪；弄得廣告機器人沒阻擋成功，一般真正想要參予討論，交流經驗的使用者，看到這些五花八門的驗證碼後反而打起退堂鼓。這不是因噎廢食嗎？ WordPress 這個廣受歡迎而且開放原始碼的部落格平台，當然也有碰到廣告機器人肆虐的問題；同時他也知道 CAPTCHA 對使用者造成的不便。所以廣大網海中的許多前輩們（鄉民？）就為他開發了許多便利的外掛程式。其中 NoSpamNX 就是一種不需要透過 CAPTCHA，卻同樣達到有效阻擋廣告機器人的外掛程式！ NoSpamNX 其實就是 Yawasp 的最新版，之前曾經因為 Neo 的介紹而研究過這一個外掛程式。Yawasp 主要的運作方式，是透過動態更換留言樣表單中，輸入框的欄位名稱，讓廣告機器人找不到固定的欄位填值，使其無法成功留言。不過因為這個外掛程式會修改到留言樣版的原始碼，可能會造成某些非官方的樣板模組發生問題，所以作者在改版成 NoSpamNX 後，採用另外一種方式；在留言區塊的 &#60;/textarea&#62; 之後，增加二個隱藏欄位，名稱與值皆使用 MD5 編碼，同時故意將其中一個欄位的數值留空（因為廣告機器人通常會將所有欄位值填滿），當作判斷時的陷阱；這二個欄位的順序也會隨機更換。 經過以下五個步驟判斷，準確辨識是否為廣告機器人；同時將疑似廣告機器人的 IP，加入黑名單中： 1. 檢查 ip 是否在黑名單中；在黑名單中=機器人 2. 檢查 POST 過來的資料中，是否有 'nospamnx-1' 產生的 MD5 Name；不存在=機器人 3. 檢查 POST 過來的 'nospamnx-1' MD5 Name，其值是否為零；不為零=機器人 4. 檢查 POST 過來的資料中，是否有 'nospamnx-2' 產生的 [...]]]></description>
			<content:encoded><![CDATA[<p>部落格似乎已經成為現代人的基本配備；如同手機、Email 一般，與大家的生活密不可分。不論是紀錄生活點滴、抒發個人情緒或是交流最新的知識技術，透過部落格這樣的平台，任何人都可以發表對不同人事物的各種觀點與看法；而身為 <a href="http://zh.wikipedia.org/wiki/Web_2.0" target="_blank">Web 2.0</a> 時代中最發燒的新星，與網路上其他使用者互動的要素當然絕對不能少！對部落格作者發表文章的回應，或是針對作者個人的留言，透過這些方式，達到社群分享的最終目的。</p>
<p>然而因為部落格的興起，訊息交流的便利，一些我們不需要的廣告與垃圾留言就開始充斥在部落格中；各個部落格平台無不絞盡腦汁，使出各種招數，跟這些沒有生命的廣告機器人大鬥法，因此演生出 <a href="http://zh.wikipedia.org/w/index.php?title=CAPTCHA&amp;variant=zh-tw" target="_blank">CAPTCHA</a> 這種辨識機器人與真人的驗證碼模式。但是「道高一呎，魔高一丈」，很快的新的廣告機器人學會了如何識別簡單的驗證碼，導致後期的驗證碼<a href="http://chinese.engadget.com/2009/03/30/on-captcha/" target="_blank">愈來愈希奇古怪</a>；弄得廣告機器人沒阻擋成功，一般真正想要參予討論，交流經驗的使用者，看到這些五花八門的驗證碼後反而打起退堂鼓。這不是因噎廢食嗎？</p>
<p><a href="http://zh.wikipedia.org/w/index.php?title=WordPress&amp;variant=zh-tw" target="_blank">WordPress</a> 這個廣受歡迎而且開放原始碼的部落格平台，當然也有碰到廣告機器人肆虐的問題；同時他也知道 CAPTCHA 對使用者造成的不便。所以廣大網海中的許多前輩們（<a href="http://zh.uncyclopedia.info/wiki/%E9%84%89%E6%B0%91" target="_blank">鄉民</a>？）就為他開發了許多便利的外掛程式。其中 <a href="http://www.svenkubiak.de/nospamnx/" target="_blank">NoSpamNX</a> 就是一種不需要透過 CAPTCHA，卻同樣達到有效阻擋廣告機器人的外掛程式！</p>
<p><span id="more-713"></span>NoSpamNX 其實就是 <a href="http://wordpress.org/extend/plugins/yawasp/" target="_blank">Yawasp</a> 的最新版，之前曾經因為 Neo 的介紹而研究過這一個外掛程式。Yawasp 主要的運作方式，是透過動態更換留言樣表單中，輸入框的欄位名稱，讓廣告機器人找不到固定的欄位填值，使其無法成功留言。不過因為這個外掛程式會修改到留言樣版的原始碼，可能會造成某些非官方的樣板模組發生問題，所以作者在改版成 NoSpamNX 後，採用另外一種方式；在留言區塊的 &lt;/textarea&gt; 之後，增加二個隱藏欄位，名稱與值皆使用 MD5 編碼，同時故意將其中一個欄位的數值留空（因為廣告機器人通常會將所有欄位值填滿），當作判斷時的陷阱；這二個欄位的順序也會隨機更換。</p>
<p style="text-align: center"><a href="http://blog.wabow.com/wp-content/uploads/2009/04/nospamnx949.png"><img class="aligncenter size-large wp-image-1872" src="http://blog.wabow.com/wp-content/uploads/2009/04/nospamnx949-500x303.png" alt="nospamnx949" width="500" height="303" /></a></p>
<p>經過以下五個步驟判斷，準確辨識是否為廣告機器人；同時將疑似廣告機器人的 IP，加入黑名單中：</p>
<blockquote><p>1. 檢查 ip 是否在黑名單中；在黑名單中=機器人<br />
2. 檢查 POST 過來的資料中，是否有 'nospamnx-1' 產生的 MD5 Name；不存在=機器人<br />
3. 檢查 POST 過來的 'nospamnx-1' MD5 Name，其值是否為零；不為零=機器人<br />
4. 檢查 POST 過來的資料中，是否有 'nospamnx-2' 產生的 MD5 Name；不存在=機器人<br />
5. 檢查 POST 過來的 'nospamnx-2' MD5 Name，其值是否為 'nospamnx-2' MD5 Value；不相等=機器人</p></blockquote>
<p>如此一來，就可以達到不使用 CAPTCHA，同時又能辨識廣告機器人的目的，雖然對於「真人」的廣告、垃圾留言發送還是無法百分之百的排除，不過應該可以阻擋大部分的無生命機器人。適當的利用各種外掛程式，就可以得到乾淨的版面，與友善的使用者輸入介面，真的要感謝熱心的網路上的前輩們囉！</p>
<p>參考資料：<a href="http://briian.com/?p=6188" target="_blank">NoSpamNX 阻擋SPAM機器人與廣告、垃圾留言（WordPress外掛）</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wabow.com/archives/713/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

