防暴力營銷/論壇羣發註冊機的插件、安裝方法 詳細

每天看見一波一波的暴力註冊刪的手痠,經歷過的站長相信都"痛不欲生"啊。經網絡搜索、研究暫取一法,雙重驗證加算法可杜絕暴力營銷註冊。部分CODE和思想參考:犍爲真人

插件要素:

1-首先REG.ASP判斷來源,必須是自己站點內點擊進來,否則傳遞到最後是錯誤編碼,即惡意註冊!

2-然後REG.ASP?action=apply  接收傳遞數值並通過JS算法換算 這裏用的是JS代碼,所以算法換算結果不會出現在HTML內。

3-再REG.ASP?action=save 判斷REQUEST.FORM傳遞來的值是否匹配,匹配繼續,不匹配則寫日誌庫並轉向錯誤頁。

三層關係關聯,確一不可,最大程度禁止外部註冊,註冊機註冊;且JS代碼運算結果是註冊機無法抓取的;(除非垃圾者手工註冊好再發垃圾);加上後臺日誌管理,一目瞭然!

安裝修改地方有5個,稍多點,不過目前還比較徹底,而又不影響正常用戶註冊。不增加註冊項讓正常註冊用戶討厭。可取消驗證碼;

其實解決就要從註冊入手才徹底,雖然部分大俠提出先回一貼轉"正"才能發貼固然能夠杜絕垃圾貼,但垃圾用戶還是不減。

本方法插件採用雙重驗證加算法的原理,使得暴力營銷狗孃的加大自動註冊難度,只要算法複雜,大家都不要一致就夠那些SB鬱悶的了;對了,還有日誌哦 8.26日增加來源日誌,可以清晰判斷惡意註冊的方法,顯示惡意註冊的上一頁地址;

演示: http://bbs.globaltm.net  點註冊一步一步老實完成, 正常!
            http://bbs.globaltm.net/reg.asp  直接外部進來註冊,失敗!這也是註冊機的機制。

安裝方法:

一,模板部分
1,分頁模板(page_login) (12) 裏面 找到:
<input type="hidden" name="{$hidden}" value="{$hidden}">
緊接着增加:
<input type="hidden" name="取你的自定義名字" value="{$GlobalTm_1}">
2,分頁模板(page_login) (13) 裏面 找到:
function gopreview1()
{

在這2行上面增加:
<!-- 禁止暴力營銷註冊-增加代碼-Start -->
var Str = "{$GlobalTm_2}";
var prand = "";
for(var i = 0; i < Str.length; i++) {
    prand += Str.charCodeAt(i).toString();
}
var a=((12^123)>>2)-10;
var b=Math.floor(Math.sin(1.11) * 10);
document.write ('<input type="hidden" name="取你的自定義名字" value=' + prand.substr(a,b) +' />')
<!-- 禁止暴力營銷註冊-增加代碼-End -->

好了,模板修改完成後記得更新下緩存;

二,REG.ASP部分
1,找到:
 TempLateStr=Replace(TempLateStr,"{$Forum_Name}",Dvbbs.Forum_Info(0))
 TempLateStr=Replace(TempLateStr,"{$hidden}",GetFormID())

下面接着增加:注意,後面的20數字爲獲取頁面來源從左邊數的字符長度,根據自己的域名長度來看。
 '禁止暴力營銷註冊-增加代碼-Start (1)
    TempLateStr=Replace(TempLateStr,"{$GlobalTm_1}",Left(UCase(Request.ServerVariables("HTTP_REFERER")),20))
 '禁止暴力營銷註冊-增加代碼-End (1)

2,找到:
TempLateStr=Replace(TempLateStr,"{$hidden}",FormID)
下面接着增加:
 '禁止暴力營銷註冊-增加代碼-Start (2)
    TempLateStr=Replace(TempLateStr,"{$GlobalTm_2}",Request.Form("取你的自定義名字"))
 '禁止暴力營銷註冊-增加代碼-End (2)

3,找到:
 If ErrCodes<>"" Then Exit Sub
 If Dvbbs.ErrCodes<>"" Then Exit Sub

在這2行上面增加:
    '禁止暴力營銷註冊-增加代碼-Start (3) 
    'Response.Write Request.Form("取你的自定義名字")    '遠程調試時請先取消這2行註釋輸出查看您的ID,
    'Response.End                                                         '並且輸入下面的<>"根據您的域名來源計算的ID"中
    If Request.Form("取你的自定義名字") <> "根據您的域名來源計算的ID" Then
    Dim NoadSql,l_r_content
    l_r_content = "暴力營銷註冊名:"&username&" 密碼:"&pass2&" 郵件:"&useremail
    NoadSql = "insert into Dv_Log (l_touser,l_username,l_content,l_addtime,l_ip,l_type) values ('Reg.Asp','"&username&"','"&l_r_content&"',"&SqlNowString&",'"&Dvbbs.UserTrueIP&"',6)"
       Dvbbs.Execute(NoadSql)
    Response.redirect "showerr.asp?ErrCodes=<li>系統檢測您可能正在使用註冊機軟件非法註冊,請正常註冊使用。&action=OtherErr"
 End If
 '禁止暴力營銷註冊-增加代碼-End (3)

 

OK,全部更新上,注意要先輸出下您的ID,以便填入判斷;這個是根據JS算法到服務端判斷的過程,而JS算法的起源字符又需要來自REG.ASP的點擊來源頁面,所以調試中,WWW.DOMAIN.COM/REG.ASP 和 DOMAIN.COM/REG.ASP 算法ID並不一樣;
如果需要2個或者更多域名正常註冊,那則在判斷處加上ADD 符號繼續判斷即可;

特別注意:在第一次安裝中需要注意2個問題,1,是取自己域名長度的問題,上面例子是20
2,是第一次安裝需要先打開
'Response.Write Request.Form("取你的自定義名字")    '遠程調試時請先取消這2行註釋輸出查看您的ID,
'Response.End
這2行,就是把前面的 ' 符號取消保存。自己註冊一下,會輸出正確ID,然後把ID填到   "根據您的域名來源計算的ID"  裏面。再把那2行註釋掉,就是前面 ' 符號加起來,或者刪除這2行。

 
發佈了3 篇原創文章 · 獲贊 2 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章