动网论坛防止群发的解决方法
来源:互联网 发布:用友u8物理数据备份 编辑:程序博客网 时间:2024/05/01 03:10
目前,很多的群发软件,大行其道,到处群发,特别是使用动网论坛的朋友,每天群发的垃圾广告非常之多,删都删到手软。更有甚者,群发的都是些违法信息。对此,使用动网论坛的朋友可能都深恶痛绝。
但有什么办法呢,改验证码图片方式?似乎作用不大,验证码对有些能识别的软件来讲形同虚设,没点用处。
群发软件针对使用某程序系统的网站,能够进行大批量的群发,无非是提交表单POST参数及地址基本上都一样,唯一不同的仅仅是域名。针对这种情况,可以适当修改下表单中字段项的name属性,或是页面表单提交到的名称,基本上就可以屏蔽某些群发软件。
但是如果群发软件具备自动获取表单中的字段项名称及提交地址的功能,怎么改没用,这个功能从技术上来讲,实现并不复杂。
知道了群发的一些基础知识,我们很容易想到解决方法。比如:如果表单中每次要提交的表单项都不同,群发软件就没办法处理了,其实不是没办法,只是相对复杂了些(先要抓取表单页,并进行表单项分析),他们不会仅仅为了你一个网站,而修改程序的。
我的解决方法是:表单的提交地址通过JS输出,增加一个随机参数名及其随机值,这个参数值及其名称在提交处理页进行验证,注意,JS所在的位置并不在表单内部,一般可加在表单验证的JS里面。经测试,该方法非常适用。
下面是针对动网论坛做点一些程序及其模板上的修改:
1、修改POST.asp页面:
先在代码的最下边加入2个随机函数:
Function getRnd( max , min )
Dim i
randomize
i = Int((max - min + 1) * Rnd + min)
getRnd = i
End Function
Function getRndChar( num )
Dim chars,ret,tmp,numIndex,i
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
For i=0 To num
Randomize
numIndex = Int((36 - 1 + 1) * Rnd + 1)
tmp = Mid(CHARS , numIndex , 1 )
ret = ret & tmp
Next
getRndChar = ret
End Function
再在该文件的188行左右,插入下面的代码:
'替换随机的注册参数
session("regRndChars") = getRndChar( 6 )
session("reg_b") = getRnd(9999,1000)
session("reg_c") = getRnd(100 , 10 )
TempStr=Replace(TempStr,"{$rndparam}",session("regRndChars"))
TempStr=Replace(TempStr,"{$value1}",session("reg_b"))
TempStr=Replace(TempStr,"{$value2}",session("reg_c"))
2、修改savepost.asp文件:
在该文件47行插入:
Dim regNums
regNums = session("reg_b") * session("reg_c")
If Request(session("regRndChars")) = "" or Request(session("regRndChars"))<>CStr(regNums) Then
Response.write "发帖失败!"
Response.end
End If
3、修改dispbbs.asp 873行下面,加入:
'替换随机的参数
session("regRndChars") = getRndChar( 6 )
session("reg_b") = getRnd(9999,1000)
session("reg_c") = getRnd(100 , 10 )
sTemplate=Replace(sTemplate,"{rndparam}",session("regRndChars"))
sTemplate=Replace(sTemplate,"{value1}",session("reg_b"))
sTemplate=Replace(sTemplate,"{value2}",session("reg_c"))
4、修改模板文件:
分页面模板(page_post):template.html(0)29行左右改成
function PostSubmit(frm,e){
//随机参数
var a = '{$rndparam}';
var b= {$value1},c={$value2};
frm.action += '&' + a + '=' + (b*c);
var Post=new DvSavePost(frm,e,'{$ispostnew}'=='1'?'full':'fastre',{$maxtitlelength},{$maxconlength});
gid('submit').disabled=true;
if ('function'==typeof checkPay){Post.isok=checkPay()}
gid('body').value=dvtextarea.save();
Post.chk_topic(gid('topic'));
Post.chk_flash();
Post.chk_content(gid('body'));
if (frm.topicmode&&frm.selecttmode){Post.chk_topicmode(frm.topicmode,frm.selecttmode);}
if(!(Post.send())){gid('submit').disabled=false;}
}
分页面模板(page_dispbbs) :template.html(0) 210行左右,改成
function FastReplySubmit(frm,e){
gid('body').value=dvtextarea.save();
gid('submit').disabled=true;
//随机参数
var a = '{rndparam}';
var b= {value1},c={value2};
frm.action += '&' + a + '=' + (b*c);
var FastRE=new DvSavePost(frm,e,'fastre');
FastRE.chk_topic(gid('topic'));
FastRE.chk_content(gid('body'));
if(!FastRE.send()){
gid('submit').disabled=false;
}
}
- 动网论坛防止群发的解决方法
- Discuz论坛短信群发、动网自动发贴源代码
- Discuz论坛短信群发、动网自动发贴源代码
- Discuz论坛短信群发、动网自动发贴源代码
- Discuz论坛短信群发、动网自动发贴源代码
- 制作我的动网论坛
- 制作我的动网论坛
- 小议动网论坛如何防止自动注册机注册与垃圾广告
- 动网论坛灌水机
- 动网论坛灌水机
- 动网论坛数据表结构
- 动网论坛缓存技术研究
- 动网论坛 上传文件类型
- 动网论坛7.0获得WebShell的分析
- 动网论坛7.0获得WebShell的分析
- 动网论坛7.0获得WebShell的分析
- 动网论坛一个数字分页的函数
- [论坛整合]Oblog 3.0 与动网的整合方法
- Customer-Specific Maintenance
- PKU2084 Game of Connections [1AC][08.08.22]
- Asp.net+C#实践之路
- 不错的学习网站
- 收藏:偶要用delphi写几个dll来公开发布出去,让其他工具的程序员调用。应该注意些什么事项 关键字:分类 :个人专区密级 :公开
- 动网论坛防止群发的解决方法
- 常用RGB颜色表
- ASCII 、GB2312、GBK、GB18030、unicode、UTF-8字符集编码详解
- 改变控件的背景色
- 要从文件中读入文本
- [软件人生]9年后重回沈阳怀
- 在ISA Server 2006中发布安全Web服务
- X86内存管理之分段管理
- 超级玛丽增强版新鲜出炉,源码发布