[MT plugin]TCode for MT的應用,分析和注意事項

TCode for MT 是 CCode and TCode for MT的關于 防範 TrackBack SPAM 的組成部分。
随着最近網絡上的 TrackBack SPAM 大規模卷土重來,裝這個 MT plugin 的同好者越來越多,偶也 TrackBack SPAM 受害者之一,也裝了這個plugin,在安裝和使用中有些體會,寫下來于各位同享之。

1。工作原理分析:
開始一直以為這個插件(plugin)的原理是加長TrackBack ID 的長度,讓Spam 機器人沒有難以猜測其ID來達到Anti SPAM 的目的。
看了原文件後發現是個片面的認識,其防範辦法是兩個方面的,一的确是增加ID的幹擾碼,也就是加長TrackBack ID 的長度,但是這個幹擾碼不是所謂的随機産生的,而是根據其Blog的發表日期換算出來的唯一數。
二是重寫MT關于TrackBack的幾個默認标簽。讓TrackBackLink分成了兩部分,其中一部分是文本輸出,而剩餘的部分是由JS輸出,這樣的好處也是其高明的地方就是阻止SPAM機器人通過抓取網頁來分析TrackBackLink,舉個例子來說,比如我的一篇 Blog 的 TrackBackLink在安裝Tcode以前的是:

/cgi-bin/mt/tb4es.cgi/235

而安裝Tcode後該Blog的 TrackBackLink 就變成了
/cgi-bin/mt/tb4es.cgi/235.1464512337

但是在顯示這個TrackBackLink的時候,
/cgi-bin/mt/tb4es.cgi/235.
部分是直接顯示的,而1464512337部分是由JS
<script type="text/javascript">
obfuscator('ENzNSEveeK', 'wp2qBbOx6yWovMLmr1zRCiVJgXsEnFc0jPA4u5Hdh378TN9SDQteKfaUGYlZIk', '__MTTBLINK__', '', '');
</script>

來完成輸出的,這樣的情況下,如果是正常的Track,是通過浏覽器獲取這個地址的,幾乎所有的浏覽器都支持JS,所以,得到正确的TrackBackLink:
/cgi-bin/mt/tb4es.cgi/235.1464512337
,
而抓網頁的SPAM機器人一般都是不解釋js的,所以它隻能獲取部分(不真實的)TrackBackLink :
/cgi-bin/mt/tb4es.cgi/235

而這個地址剛好是MT默認的TrackBack地址,so也騙過了SPAM 機器人的自我檢驗模塊:)

PS:其實,CCcode部分也是利用JS完成類似功能的。隻是我們再介紹Tcode而已。

2。TCode的小問題和使用注意事項:
通過代碼可以知道,作者阿郎對SPAM的認識很到位,但是可能是為以後功能升級準備吧,留下了一些比較容易被SPAM機器人攻破的不足。
最大的問題就是magicKey問題,阿郎給Tcode設定可一個所謂的“魔法數值”,默認情況下這個數值是

your ping is to be moderated, so please dont't send repeatedly
,這個數值的設定可以1.讓用戶選擇不生成幹擾碼,而用原始的TrackBackLink加上小數點加上這個key來ping加上Tcode的Blog。2在rdf:ping中顯示不同于加幹擾碼的Ping地址。
所以說,不管是否有無幹擾碼,magicKey總是優先,也就是,你安裝了Tcode,而沒有改掉magicKey的話,我直接可以可以通過
http://youwebsite/cgi-bin/mt/mt-tb.cgi/[YouID].your ping is to be moderated, so please dont't send repeatedly
來直接給你TrackBack,而根本不用關心你加了TCode後的新的TrackBackLink是什麼!
所以。。這個很容易被高級點的SPAM 機器人利用。解決辦法也很簡單,修改 Tcode.pl中 $magicKey的數值為你定義的一個複雜的字符串。

另外,幹擾碼的生成是固定的,通過Blog的發布日期換算出來的,所以。。通過SPAM機器來換算出來這個數字也不是什麼難事。隻是本plugin的通過JS僞裝成原始MT TrackBakLink 的功能騙過了 Spam 機器人的進一部分析。

總的來說,這個plugin是我們對付 TrackBak SPAM 的利器。推薦大家使用。

CCode&TCode 的安裝可以參考官方或者這裡