自动论坛发帖软件 powerd by discuz 7.2 论坛自动发帖原理介绍

文章浏览阅读591次。 现在很多论坛都是使用现成的 powerd by discuz 7.2,虽说 readme 里声明不是免费软件,但是也没看到要收费的地方

现在很多论坛都是使用现成的 by 7.2,虽说 里声明不是免费软件,但是也没看到要收费的地方,对小公司而言,要搭建一个 BBS 论坛,Linux + + Mysql + PHP + 无疑是很不错的选择,上手容易,配置也不复杂。

上一帖给出了在的论坛上自动发帖的代码,这里介绍一下它的基本原理吧。(参见附件的图片)

这是个 GET 请求,请求页面 ,服务端返回 sid 和 ,其中 sid 是会话的 ID,在返回的 中,读取头部的 Set- 部分即可,sid 每次请求页面,值都不一样; 在返回的文本文件中,如果在浏览器中直接输入:,可以看到登录界面,查看-源文件,找到登录的那个表单 form ,其中的 input 就有 ,type=,隐藏不可见,的值为8位的字母数字搭配,这是服务器返回给客户端的身份标识,具体算法好像是根据时间戳等信息,求MD5后,取其中8位,具体细节参照 的 PHP 源码吧。

有了 就可以登录了,其实登录的目的就是为了获得 auth 值,auth 值是通过服务器返回的 中获得的。登录的过程是发送 POST 请求,首先要将 sid 写入 中,POST 的内容可以通过在 URL 中传输,或是在 POST 的文本内容中,传递的参数有 , , , , , , , 等,相互之间用 & 连接,这些参数在登录界面的源代码里都可以找到,具体内容可以参考代码:

“=login&=&=0&=&=yes&=”

+

+ “&=”

+ user

+ “&=” + pass

其实以上过程就是模拟浏览器,发送 POST 请求,点击“登录”按钮的时候,浏览器完成以上动作,这里由代码自动完成。

此时,服务器就认可了用户已经登录,将会保存用户已登录的信息,服务端回应的 中,包含了 auth 值,需要从 中提取并保存,作为用户的身份标识,用作后续的发帖身份认证。

自动论坛发帖软件 powerd by discuz 7.2 论坛自动发帖原理介绍

登录到服务器后,要进行发帖操作,需要得到一个 标识,通过 GET 请求页面 ,其中包含了 值,这个请求要包含 sid 和 auth 的 ,其中 fid=10 意为版块的 ID ,可以通过登录具体的版块发帖,鼠标放在“发帖”按钮上,浏览器状态栏会显示 ID 号,或者在发帖页面,查看源文件,找到发帖的表单 form ,查看这个 ID 号。

服务器返回的内容中,会有个表单,包含 值,至此,就可以进行发帖操作了。

发帖操作和登录操作类似,通过 POST 请求页面 ,同样需要把 的内容加上;具体 POST 的内容,可以参考发帖操作页面的源代码,其中 form 的内容就是要 POST 的内容。可以参考如下:

“=&=yes&=” +

+ “&=” + + “&fid=” +

+ “&=” + msg

服务器会返回发帖的结果,所以有必要接受服务返回的内容,用来测试是否发帖成功。具体功能就不实现了。

至此,自动发帖的原理就介绍完了。

基本的过程就是,GET 请求登录页面, 中获得 sid,返回页面中获得 ,用 sid … 等信息,发送 POST 请求登录,登录后 中会有 auth 等信息,取得 auth 后,GET 请求发帖页面,在页面中获得 ,再以 sid auth …等发送 POST 请求,完成发帖操作。

如果有笔误或讲得不对的地方,请网友指教。

附上 网络抓包的部分内容,供参考。

Info (Chat/): GET /bbs/.php?=login HTTP/1.1rn

现在最火的发帖平台

有什么渠道可以推广自己的产品 有哪些网络营销方式推广自己的产品好

2024-6-2 8:00:40

现在最火的发帖平台

微商微信 微信小程序正式进军电商全链路闭环

2024-6-2 9:00:54

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索