用js加密的辦法是很好的,破解不了
一,模板部分
1,分頁模板(page_login) (12) 里面 找到:
<input type="hidden" name="{$hidden}" value="{$hidden}">
緊接著增加:
<input type="hidden" name="取你的自定義名字" value="{$GlobalTm_1}">
2,分頁模板(page_login) (13) 里面 找到:
<form....>后面加上
<script>
<!-- 禁止暴力營銷注冊-增加代碼-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 -->
</script>
好了,模板修改完成后記得更新下緩存;
二,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.cndw.COM/REG.ASP 和 cndw.COM/REG.ASP 算法ID并不一樣;
如果需要2個或者更多域名正常注冊,那則在判斷處加上ADD 符號繼續判斷即可;
特別注意:在第一次安裝中需要注意2個問題,1,是取自己域名長度的問題,上面例子是20
2,是第一次安裝需要先打開
'Response.Write Request.Form("取你的自定義名字") '遠程調試時請先取消這2行注釋輸出查看您的ID,
'Response.End
這2行,就是把前面的 ' 符號取消保存。自己注冊一下,會輸出正確ID,然后把ID填到 "根據您的域名來源計算的ID" 里面。再把那2行注釋掉,就是前面 ' 符號加起來,或者刪除這2行。