用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行。