动网论坛防止群发的解决方法
目前,很多的群发软件,大行其道,到处群发,特别是使用动网论坛的朋友,每天群发的垃圾广告非常之多,删都删到手软。更有甚者,群发的都是些违法信息。对此,使用动网论坛的朋友可能都深恶痛绝。
但有什么办法呢,改验证码图片方式?似乎作用不大,验证码对有些能识别的软件来讲形同虚设,没点用处。
群发软件针对使用某程序系统的网站,能够进行大批量的群发,无非是提交表单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;
}
}
动网论坛防止群发的解决方法相关推荐
- 网站会员与动网论坛会员同步整合非官方方法
个人网站如有会员注册模块+动网论坛的话,那网站要与动网论坛系统整合,实现不同Web系统之间的用户信息同步更新.登录等操作就不是件容易的事了,虽然动网已提供有详细的"动网论坛系统Api接口开发 ...
- 动网论坛php源码无法安装,轻松搞定动网论坛与网站的整合
文章为一个朋友原创,帮发了上来,转载请注明出处. 修改说明: 1.本方法适用于动网论坛 Dvbbs ver7.0及其以上版本,access数据库2000版本及其以上. 2.本修改方法仅供技术讨论和参考 ...
- html缩小网页时版块乱跑,解决动网论坛最后发表显示代码的问题(或导致首页排版错乱)...
动网论坛作为一个优秀的ASP论坛程序,两年前曾是千千万万站长的选择.虽然动网论坛官方停止了更新,但是由于我一个站用的是动网论坛,转换的话闲麻烦,而且之前做了不少个性化修改,再者我用着感觉也挺快的,也能 ...
- 动网论坛新手详尽教程
1.如何登陆后台: 用动网论坛的默认管理员帐号(admin, admin888)登陆,在上面的菜单中选择管理 输入管理员帐号密码就能登陆后台,进行你的论坛设置. 2.如何添加论坛管理员: 你首先要注册 ...
- 动网 php v1.0 漏洞,动网论坛dispuser.php页面SQL注入漏洞
受影响系统: 动网论坛 Dvbbs php 2.0++ 描述: DVBBS是一款Aspsky.Net开发和维护的开放源码ASP Web论坛程序. 在DVBBS的dispuser.php文件中: if( ...
- 登陆动网论坛时报“Microsoft JET Database Engine 错误 '80004005' ”
下午想装下动网论坛玩玩,先是安装IIS花了点时间,看来技术这个东西是需要温故才不会忘记的,明明安装好了,但是设置漏了一步,死活打不开ASP的页面, 少了一步,对Active Server Page的支 ...
- 动网论坛Ver 7.1.0 Sp1
Dvbbs7.1.0 Sp1 产品主要更新内容,此下载已包含所有最新更新和所有原版文件 1.重整核心结构,采用成熟的缓存加载模式,能保持稳定的运行状态.缓存数据大部分采用XML模式,易于存取和管理.优 ...
- 动网论坛7.0获得WebShell的分析
本文作者:angel 文章性质:原创 发布日期:2004-06-27 发现:Super·Hei 分析:angel 环境/讨论:xiaolu 起哄:knife 前言 Super·Hei和我提起& ...
- 将动网论坛验证码修改为算术运算提问的验证码
维护曙光助学社论坛的过程中,原先为了发帖方便没有启用验证码,结果经常有恶意广告发到论坛上来,于是在注册和发帖时启用验证码,是为了抵制自动发帖机.动网论坛流行太广,其原始的验证码程序恐怕被OCR的可能性 ...
最新文章
- PyQt5 图形界面 - 配置界面跟随窗口大小调整灵活伸缩,设置页面控件居中显示实例演示
- LiveJournal发展历程
- 使用Vue构建中(大)型应用
- “力挺Java!拒绝Python”9万程序员刷爆朋友圈……
- 输出一行星花 1110 java
- ReadWriteLock1.8源码
- 【c++leetcode】判断一个数是否是2的幂、3的幂、4的幂
- PHP基础教程-54课-问题
- mysql hash分区 子分区_mysql分区管理 - hash分区
- Geoda空间自相关分析—局部Moran‘I指数(运用GeoDa制作Lisa图)
- android textview 文字倒影,textview 倒影
- Urban Radiance Fields
- 淘宝商品采集上架拼多多店铺(无货源数据采集接口,拼多多商品详情数据,淘宝商品详情数据)接口代码对接教程
- STM32的一个通用定时器理论上可以当做N个来用
- 当其为质数返回true,否则返回false
- 让我们唠一唠:微信有哪些功能越来越不行了呢?
- 达人评测 酷睿i7 1195g7 和奔腾n6000选哪个
- macbookair苹果MAC笔记电脑本更换电池教程
- 数据结构与算法分析(第一周)
- 伯克利CS61A错题笔记1.0