zoukankan      html  css  js  c++  java
  • 解决 在 自己 “主页登录”后, 在新打开的浏览器中,打开Dvbbs论坛时,自动登录的问题, verse visa

    方法是:利用从
    http://bbs.dvbbs.net/dispbbs.asp?Boardid=134&ID=1237421&replyID=2188857&skin=1

    下载的 SLogin.asp  文件。 将 下列代码放在 需要登录的网页(自己的主页)上即可。

    <iframe src="forum/Slogin.asp" scrolling="no" frameborder = "0"  width="100%" height="100" name="I1"></iframe>


    反过来, 在论坛先登录,后在一个新浏览器中打开主页时,参以下 两篇文章完成
    文章 1 : http://www.xpb.cn/blog/article.asp?id=407
    文章为一个朋友原创,帮发了上来,转载请注明出处。

    修改说明:

    1
    、本方法适用于动网论坛 Dvbbs ver7.0及其以上版本,access数据库2000版本及其以上。
    2
    、本修改方法仅供技术讨论和参考,修改前请先备份您的数据库,因为修改所带来的数据丢失等问题,本站概不负责。

    一、数据库的合并方法:

    首先,假设要合并到的(即合并后你将用在论坛上的)数据库文件为dvbbs.mdb、被合并的(即合并后你就除去了不要的)数据库文件为database.mdb

    ①先到以dvbbs.mdb作数据库的论坛后台,去新建所没有的database.mdb中的分论坛;(举例:dvbbs论坛中有甲、乙分论坛,database论坛中有甲、丙分论坛,你就要在前者论坛中把丙给建上,包括类别下面的二级分论坛你都要筹备好,免得database合并过来的数据在dvbbs中找不到原来关系而失败)

    ②将dvbbs.mdbdatabase.mdb都下载到本地机上,并把这两个文件各复制出备份;(注意一下的操作均不可逆,因此请务必备份更好原来的数据库。)

    ③打开dvbbs.mdb,点文件--获取外部数据--链接表,找到database.mdb,点链接;

    ④点所显示链接表中的forum表、再按住ctrl键点reforum表,点确定;

    ⑤右击已链接过来的forum1表,点复制,再对着旁边空白处点粘贴,点将数据追加到已有表,在表名称栏中填forum,点确定;

    ⑥右击已链接过来的reforum1表,按⑤的步骤如法炮制(只是表名称栏要填reforum);

    ⑦将列表中的forum1reforum1两个链接表删除。这样两个库就合并了(database合并到dvbbs中去了)!

    然后,你将dvbbs.mdb库上传至空间,进入后台的论坛管理操作,把原database的那些分论坛里的帖子移动到dvbbs应有的分论坛中,再删掉database的分论坛。两个论坛也告合并成功,登录论坛后台重新建立缓存和更新论坛所有数据!

    二、动网论坛的修改

    1.
    动网论坛cookies全站通用的方法

    打开inc/Dv_ClsMain.asp

    这一步的主要目的是将论坛的COOKIE名称定义为通用名称

    在本文件的开头定义变量 

    dim mybbsdir
    MyBbsDir = "/" ''
    你论坛所在目录

    Class Cls_Forum

    Rem Const


    找到第28(增加上两行后就是第31),本行原文是:

    CacheName=Replace(Replace(Replace(Server.MapPath("index.asp"),"index.asp",""),":",""),"\","")改为

    CacheName = "happy"

    找到第31(增加上两行后就是第34),本行原文是:

     
    Forum_sn = CacheName:Vipuser = False:Boardmaster = False

    改为

    Forum_sn = "happy" 

    2
    )更改Cookies目录 这一步的主要目的将论坛的cookies目录定义为全局目录,即根目录"/"

    ①打开inc/Dv_ClsMain.asp

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

    应该共有三个

    替换为:

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

     打开login.asp
    寻找 Response.Cookies(Dvbbs.Forum_sn).path=Dvbbs.cookiepath

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

    替换为:

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

     打开logout.asp

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

    应该只有一个

    替换为:

     
    Response.Cookies(Dvbbs.Forum_sn).path="/" 至此,修改完毕,即可以达到cookies全站通用的目的了。

    2. 
    更改用户登陆是返回地址:

     打开login.asp

    在这个文件的代码开始加入

    response.Expires=0

    response.ExpiresAbsolute=now()-1

    response.AddHeader "pragma","no-cache"

    response.AddHeader "cache-control","private"

    response.CacheControl="no-cache"


    找到第125行:

     
    Dim comeurlname

    If instr(lcase(request("comeurl")),"reg.asp")>0 or instr(lcase(request("comeurl")),"login.asp")>0 or trim(request("comeurl"))="" Then
    comeurlname=""

    comeurl="index.asp"

    Else

    comeurl=request("comeurl")

    comeurlname="<li><a href="&request("comeurl")&">"&request("comeurl")&"</a></li>"

    End If
    改为

    response.Redirect(request.servervariables("http_referer"))

           session.Contents("URL")=Request.ServerVariables("URL") &"?"& Request.ServerVariables("Query_String")

    Response.Redirect(session("URL"))


    ②打开logout.asp

    在这个文件的代码开始加入

    response.Expires=0

    response.ExpiresAbsolute=now()-1

    response.AddHeader "pragma","no-cache"

    response.AddHeader "cache-control","private"

    response.CacheControl="no-cache"


    寻找第36
    Response.Redirect Dvbbs.Forum_Info(11)
    改为

    response.Redirect(request.servervariables("http_referer"))

    session.Contents("URL")=Request.ServerVariables("URL") &"?"& Request.ServerVariables("Query_String")

    Response.Redirect(session("URL"))
    3.修改后台的cookies名称,否则你将无登陆动网论坛的后台

     打开admin/ReloadForumCache.asp

    寻找第11

    Dvbbs.CacheName = Lcase(Replace(mCacheName,":",""))

    Dvbbs.Forum_sn = Replace(Dvbbs.CacheName,"_","")


    改为:

    Dvbbs.CacheName = "happy"

    Dvbbs.Forum_sn =  "happy"

    ②打开admin/inc/const.asp

    寻找第15

    Dvbbs.CacheName = Lcase(Replace(mCacheName,":",""))

    Dvbbs.Forum_sn = Replace(Dvbbs.CacheName,"_","")

    改为:

    Dvbbs.CacheName = "happy"

    Dvbbs.Forum_sn =  "happy"


    好了,动网论坛修改完了 到了这里,你的整个网站就都可以使用论坛的cookies了,而且登陆和退出时都会自动返回你所在的页面 你可以在其他地方取的COOKIES数据为: Request.Cookies("happy")("username") ''用户名,对应[dv_user]表的username字段
    Request.Cookies("happy")("password") ''
    用户随机密码,对应[dv_user]表的truepassword字段
    Request.Cookies("happy")("userid") ''
    用户id,对应[dv_user]表的userid字段 主要修改部分就这么多,其他的目录权限设置等等,请自行解决!

    三、对网站登陆框的修改

       
    到这一步,我们首先看一下动网论坛的登陆框代码:

     
    <td  class=lefttopcenter>  会员登陆</td><td  class=lefttopright></td></tr></table>

    <table border="0" cellspacing="0" cellpadding="0"><tr>

    <td valign=top class=leftcentercenter  height=170><div>

    <form method="post" action="login.asp?action=chk"><table><td height=5></td></table>

    用户名: <input name="username" type="text"  style="100px" maxlength=’20’ class="yecao"><table><td height=5></td></table>

       码:<input name="password" type="password" style="100px" maxlength="20" class="yecao"><table><td height=5></td></table>

    保存期: <select name="CookieDate" class="yecao">

    <option value="0" selected>
    不保留</option>

     <option value="1">
    保留一天</option>

           <option value="30">
    保留一个月</option>

                <option value="365">
    保留一年</option>

    </select><table><td height=5></td></table>

    <input name="submit" type="submit" value="
     " class="put" onmouseover="this.className=’overput’"" onmouseout="this.className=’put’" class="put">

    <input name="reg" onclick=’window.location=" reg.asp"’ type="button" value="
     " class="put" onmouseover="this.className=’overput’"" onmouseout="this.className=’put’" class="put"fs>       

    </form><table><td height=5></td></table>

    <center><a href=" lostpass.asp">
    找回密码</a></center>
    在我们的网站登陆文件中,只要使用动网论坛的表单名称及登陆文件,注册,找回密码文件就可以了!



    参考资料:

    整合全站方法-动网论坛7版用户cookie及登陆全站共享的修改方法      中国维修网-惊云

    =======================================
    文章  2:http://www.hotrich.com/blog/article.asp?id=20

    wenzhang 1中,提到的“...应该共有三个....”估计是 Dvbbs较早版本的情况,文章2中,提到仅有一处符合自己的情况,自己用的是Dvbbs ver7.1 SP1。
    文章2 的具体内容见,题为“合动网用户登陆 http://www.hotrich.com/blog/article.asp?id=20 ”的 收录在cnblogs.com/cy163  中的文章。


    首先,在一个浏览器中直接打开论坛,登陆成功后(注意登录时,要选择保持Cookie);然后,新开一个浏览器窗口,如何感知此刻已处于登录状态呢?,在自己的主页是利用
    request.Cookies("DvForum")("username")不为空来做判断的。


    l


  • 相关阅读:
    每日日报24
    每日日报23
    每日日报22
    链路层:MAC 地址
    应用层:电子邮件
    应用层:HTTP 协议
    应用层:DNS 域名系统
    运输层:TCP 拥塞控制
    运输层:拥塞控制原理
    JAVA学习日记26-0731
  • 原文地址:https://www.cnblogs.com/cy163/p/639884.html
Copyright © 2011-2022 走看看