授人以渔:最新版DVBBS模块制作教程
第1步登陆目标CMS系统设置
---------------------------------
我们首先来研究下登陆DVBBS的时候WINSOCK截取到的部分信息包
POST /bbs/login.asp?action=chk HTTP/1.1
Referer: http://localhost/bbs/login.asp
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: http://localhost/bbs/login.asp
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文件的原代码里整理出来。
用户登陆 就做好了。
火车注:最新的V1.2.1版可以使用内置浏览器登陆。所以这块大家可以不做
以下在V1.2.1中测试制作。。附dvbbs7.1.0_sp1_0124.cwr模块下载
winsock expert本地下载地址 http://bbs.locoy.com/attachment.php?aid=37 第2步
刷新列表的设置
难点就是 刷新列表的 正则表达式
我也懒的写,到时候直接写ID 就可以。。。:$:$:$
火车注:列表在/index.asp里面。填上地址/index.asp
查看源代码,发现分类的连接 <a href="index.asp?boardid=2" title="进入本分类论坛">分类1111</a>
我们要提取分类名 :分类1111 和分类ID:2
使用内置的(?<fid>+?)提取分类ID(?<name>.*?)提取分类名
于是得到 <a href="index.asp?boardid=(?<fid>+?)" title="进入本分类论坛">(?<name>.*?)</a>
我们还要进行一下修改 凡是遇到 . \ [ ] ( ) * `^ + ? 的地址要在它前面加一个\转义 (?<fid>+?) (?<name>.*?) 不要改哦
得到<a href="index\.asp\?boardid=(?<fid>+?)" title="进入本分类论坛">(?<name>.*?)</a>
把title :进入本分类论坛 用任意字符代替 (.*?)
得到最终刷新正则:<a href="index\.asp\?boardid=(?<fid>+?)" title="(.*?)">(?<name>.*?)</a>
第3步
文章发表设置
============
监视发送的数据包;获得如下信息:
POST /bbs/SavePost.asp?Action=snew&boardid=1 HTTP/1.1(这个就是发表地址后缀:))
Referer: http://localhost/bbs/post.asp?action=new&boardid=1(这个是来源页面后缀)
将里面唯一的变量替换。
写入 模块 如下:
/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&
我问问火车再说。。。
=、==============================
火车注:由于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了
谢谢分享!!!! 我把 登陆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真麻烦呀。。 是最新版的dvbbs 吗? 是的。你可以试下 等有空试一下 谢谢bloom!!!!!!!!!!! 怪哦,为什么我在线的,它显示我离线啊