动网论坛深度整合之Cookies详解 :)

动网论坛这个另无数asp开发者头疼的家伙,不要说它整个程序如何,如何难懂,相互关联如何复杂,就单说它的Cookies这一项就让很多人摸不着边际,在动网6.0之前的版本,有个漏洞就出在cookies上,别人可以利用Cookies欺骗对动网进行攻击,在之后的版本动网特别加强了Cookies的安全性,这一漏洞也就不存在了。

     我们都知道要很好的对动网进行整合,就必须能够在全站读得Cookies的值,要读到它首先必须搞懂它的Cookies设置方式,动网在每次用户登录时都会更新数据库dv_setup里字段Forum_CookiesPath的值,这个值的取得的算法在login.asp里有,它是一个相对路径,然后获取此站点路径下的相应的Cookies,如username,userclass,因此,你只有论坛的目录下的代码才能读取客户端论坛的Cookies,如果要在其它的地方读取,怎么办呢?

下面是动网Login.asp 里关于Cookies 的设置算法:

<%

'判断更新cookies目录

Dim cookies_path_s,cookies_path_d,cookies_path

cookies_path_s=split(Request.ServerVariables("PATH_INFO"),"/")

cookies_path_d=ubound(cookies_path_s)

cookies_path="/"

For i=1 to cookies_path_d-1

    If not (cookies_path_s(i)="upload" or cookies_path_s(i)="admin") Then cookies_path=cookies_path&cookies_path_s(i)&"/"

Next

If dvbbs.cookiepath<>cookies_path Then

    cookies_path=replace(cookies_path,"'","")

    Dvbbs.execute("update dv_setup set Forum_Cookiespath='"&cookies_path&"'")

    Dim setupData

    Dvbbs.CacheData(26,0)=cookies_path

    Dvbbs.Name="setup"

    Dvbbs.value=Dvbbs.CacheData

End If

%>

实现动网cookies全站通用并且退出也是全站通用:

必须修改三个文件:

①打开inc/Dv_ClsMain.asp

寻找     Response.Cookies(Forum_sn).path=cookiepath

应该共有1个

替换为:

Response.Cookies(Forum_sn).path="/"

 

②     打开login.asp

寻找     Response.Cookies(Dvbbs.Forum_sn).path=Dvbbs.cookiepath

应该共有3个,其中一个是:Response.Cookies(Dvbbs.Forum_sn).path     =     Dvbbs.cookiepath(等号两旁有空格)

替换为:

Response.Cookies(Dvbbs.Forum_sn).path="/"

 

③     打开logout.asp

寻找     Response.Cookies(Dvbbs.Forum_sn).path=Dvbbs.cookiepath     第26行

应该只有一个

替换为:

Response.Cookies(Dvbbs.Forum_sn).path="/"

 

于是在任意目录中构建页面读取皆为可能

呵呵,到了这里

就可以调用了.... 

<!--#include file="bbs/Conn.asp"-->

<!--#include file="bbs/inc/const.asp"-->

request.Cookies(Dvbbs.Forum_sn)("username") 用户名

密码,id都可以全站通用了....

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值