bloom 2006-2-14 10:38
授人以渔:最新版DVBBS模块制作教程
第1步
登陆目标CMS系统设置
---------------------------------
我们首先来研究下 登陆DVBBS的时候WINSOCK截取到的部分信息包
POST /bbs/login.asp?action=chk HTTP/1.1
Referer: [url]http://localhost/bbs/login.asp[/url]
username=******&password=*****&codestr=9691&CookieDate=0&userhidden=2&comeurl=login.asp&submit=%B5%C7+%C2%BC
-----------------------------------------
其中 post 是提交信息到(:)也就是模块里的登陆地址后缀)。。。。Referer是来源(:)也就是登陆模块里的来源地址后缀)
=================
截取刷新验证码信息的时候截取到部分信息包
GET /bbs/DV_getcode.asp HTTP/1.1
Accept: */*
Referer: [url]http://localhost/bbs/login.asp[/url]
GET后面 就是 :)模块的验证码地址。当然这里应该写/DV_getcode.asp(因为当前目录在/BBS)
===========================
最后来填写登陆 POST数据
username=******&password=*****&codestr=9691&CookieDate=0&userhidden=2&comeurl=login.asp&submit=%B5%C7+%C2%BC
从这里把 对应变量转换一下就成为了
username=用户名&password=密码&codestr=验证码&CookieDate=1&userhidden=2&comeurl=index.asp&submit=%B5%C7+%C2%BC
===================
再把
登陆成功和失败的标志从 post文件的原代码里整理出来。
用户登陆 就做好了。
[quote]
火车注:最新的V1.2.1版可以使用内置浏览器登陆。所以这块大家可以不做
以下在V1.2.1中测试制作。。附dvbbs7.1.0_sp1_0124.cwr模块下载
[/quote]
winsock expert本地下载地址 [url]http://bbs.locoy.com/attachment.php?aid=37[/url]
bloom 2006-2-14 11:07
第2步
刷新列表的设置
难点就是 刷新列表的 正则表达式
我也懒的写,到时候直接写ID 就可以。。。:$:$:$
[quote]
火车注:列表在/index.asp里面。填上地址/index.asp
查看源代码,发现分类的连接 <a href="index.asp?boardid=2" title="进入本分类论坛">分类1111</a>
我们要提取分类名 :分类1111 和分类ID:2
使用内置的(?<fid>[0-9]+?)提取分类ID (?<name>.*?)提取分类名
于是得到 <a href="index.asp?boardid=(?<fid>[0-9]+?)" title="进入本分类论坛">(?<name>.*?)</a>
我们还要进行一下修改 凡是遇到 . \ [ ] ( ) * `^ + ? 的地址要在它前面加一个\转义 (?<fid>[0-9]+?) (?<name>.*?) 不要改哦
得到 <a href="index\.asp\?boardid=(?<fid>[0-9]+?)" title="进入本分类论坛">(?<name>.*?)</a>
把title :进入本分类论坛 用任意字符代替 (.*?)
得到最终刷新正则:<a href="index\.asp\?boardid=(?<fid>[0-9]+?)" title="(.*?)">(?<name>.*?)</a>
[/quote]
bloom 2006-2-14 11:32
第3步
文章发表设置
============
监视发送的数据包;获得如下信息:
POST /bbs/SavePost.asp?Action=snew&boardid=1 HTTP/1.1(这个就是发表地址后缀:))
Referer: [url]http://localhost/bbs/post.asp?action=new&boardid=1[/url](这个是来源页面后缀)
将里面唯一的变量替换。
写入 模块 如下:
/SavePost.asp?Action=snew&boardid=分类ID(这个就是发表地址后缀:))
/post.asp?action=new&boardid=分类ID(这个是来源页面后缀)
===========================
:D:D:D:D:D:D简单吧???
==================
下面的是重要内容了 发送POST数据
我们先来看看截取的信息包
upfilerename=&Body=22222222222222222222222222222222&dvbbs=bgfaajeda&star=1&page=1&TotalUseTable=dv_bbs1&username=admin&passwd=**********&font=&topic=11111111111111111111&topicximoo=0&Expression=face1.gif&imagicface=1&autofix=1&GetPostType=&ToMoney=&Buy_Orders=-1&Buy_VIPType=0&Buy_UserList=&signflag=1&emailflag=0
body 是 内容
username 用户名
password 不用管
topic 是标题
signflag 是否显示签名
=====================
变量替换 就可以了哦。跟第一步类似哦。
:lol:lol:lol===============================
发现一个问题post数据的时候 dvbbs=bgfaajeda&
我问问火车再说。。。
=、==============================
[quote]
火车注:由于dvbbs每次都不一样,在发帖前要获取到这个值才行 这里我们使用登录hash这个内置标签
发表话题时/post.asp?action=new&boardid=3 我们来看里面的源代码
找到了这个每次都变的dvbbs HIdden变量 <input type="hidden" name="dvbbs" value="gbiebdjfa" /> 要获取到它的值:gbiebdjfa
在登录Hash项中设置:
刷新页面/Post.asp?Action=snew&boardid=分类ID
区域开始:hidden" name="dvbbs" value=" 区域结束: " />
再回来改一下Post变量里面 dvbbs=登录hash&star=1。。。。就OK了
[/quote]
bloom 2006-2-16 13:05
我把 登陆hash加上了
upfilerename=&Body=内容&dvbbs=登录hash&star=1&page=1&TotalUseTable=dv_bbs1&username=用户名&passwd=**********&font=&topic=标题&topicximoo=0&Expression=face1.gif&imagicface=1&autofix=1&GetPostType=&ToMoney=&Buy_Orders=-1&Buy_VIPType=0&Buy_UserList=&signflag=1&emailflag=0
=======================================
/SavePost.asp?Action=snew&boardid=分类ID
name="dvbbs" value=" 从这里取的 “
=========================
结果发帖子提示
">访问论坛</font>"的时候发生错误,共有1项,下面是错误的详细信息</b></td></tr>
<tr><td width="100%" class="tablebody1" colspan="2">
????????????????
</td></tr>
<tr><td width="100%" class="tablebody1" colspan="2">
<li>请仔细阅读论坛帮助文件,确保您有相应的操作权限。
</td></tr>
===============DVBBS 7.10SP1 真麻烦呀。。
netdream 2006-2-20 23:16
bloom,为什么有的模块有要填hash的内容,有的又不用啊
森林 2006-3-3 08:58
最新版的DVBBS模块了?
是不是2006年2月24日过后的DVBBS?
听说不起用了。
gather 2006-3-31 12:53
netdream,你用了dede v3了么,能不能帮我测试一次,我的发帖时间是1970,始终没法改过来
火车也帮我指正了好几次