解决 在 自己 “主页登录”后, 在新打开的浏览器中,打开Dvbbs论坛时,自动登录的问题, verse visa
方法是:利用從
http://bbs.dvbbs.net/dispbbs.asp?Boardid=134&ID=1237421&replyID=2188857&skin=1
下載的 SLogin.asp 文件。 將 下列代碼放在 需要登錄的網(wǎng)頁(自己的主頁)上即可。
<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
文章為一個朋友原創(chuàng),幫發(fā)了上來,轉(zhuǎn)載請注明出處。
修改說明:
1、本方法適用于動網(wǎng)論壇Dvbbsver7.0及其以上版本,access數(shù)據(jù)庫2000版本及其以上。
2、本修改方法僅供技術(shù)討論和參考,修改前請先備份您的數(shù)據(jù)庫,因為修改所帶來的數(shù)據(jù)丟失等問題,本站概不負(fù)責(zé)。
一、數(shù)據(jù)庫的合并方法:
首先,假設(shè)要合并到的(即合并后你將用在論壇上的)數(shù)據(jù)庫文件為dvbbs.mdb、被合并的(即合并后你就除去了不要的)數(shù)據(jù)庫文件為database.mdb
①先到以dvbbs.mdb作數(shù)據(jù)庫的論壇后臺,去新建所沒有的database.mdb中的分論壇;(舉例:dvbbs論壇中有甲、乙分論壇,database論壇中有甲、丙分論壇,你就要在前者論壇中把丙給建上,包括類別下面的二級分論壇你都要籌備好,免得database合并過來的數(shù)據(jù)在dvbbs中找不到原來關(guān)系而失敗)
②將dvbbs.mdb、database.mdb都下載到本地機(jī)上,并把這兩個文件各復(fù)制出備份;(注意一下的操作均不可逆,因此請務(wù)必備份更好原來的數(shù)據(jù)庫。)
③打開dvbbs.mdb,點文件--獲取外部數(shù)據(jù)--鏈接表,找到database.mdb,點鏈接;
④點所顯示鏈接表中的forum表、再按住ctrl鍵點reforum表,點確定;
⑤右擊已鏈接過來的forum1表,點復(fù)制,再對著旁邊空白處點粘貼,點將數(shù)據(jù)追加到已有表,在表名稱欄中填forum,點確定;
⑥右擊已鏈接過來的reforum1表,按⑤的步驟如法炮制(只是表名稱欄要填reforum);
⑦將列表中的forum1和reforum1兩個鏈接表刪除。這樣兩個庫就合并了(database合并到dvbbs中去了)!
然后,你將dvbbs.mdb庫上傳至空間,進(jìn)入后臺的論壇管理操作,把原database的那些分論壇里的帖子移動到dvbbs應(yīng)有的分論壇中,再刪掉database的分論壇。兩個論壇也告合并成功,登錄論壇后臺重新建立緩存和更新論壇所有數(shù)據(jù)!
二、動網(wǎng)論壇的修改
1.動網(wǎng)論壇cookies全站通用的方法
打開inc/Dv_ClsMain.asp
這一步的主要目的是將論壇的COOKIE名稱定義為通用名稱
在本文件的開頭定義變量
dimmybbsdir
MyBbsDir="/"''你論壇所在目錄
ClassCls_Forum
RemConst
找到第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
應(yīng)該共有三個
替換為:
Response.Cookies(Forum_sn).path="/"
②打開login.asp
尋找Response.Cookies(Dvbbs.Forum_sn).path=Dvbbs.cookiepath
應(yīng)該共有五個,其中一個是: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行
應(yīng)該只有一個
替換為:
Response.Cookies(Dvbbs.Forum_sn).path="/"至此,修改完畢,即可以達(dá)到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行:
Dimcomeurlname
Ifinstr(lcase(request("comeurl")),"reg.asp")>0orinstr(lcase(request("comeurl")),"login.asp")>0ortrim(request("comeurl"))=""Then
comeurlname=""
comeurl="index.asp"
Else
comeurl=request("comeurl")
comeurlname="<li><ahref="&request("comeurl")&">"&request("comeurl")&"</a></li>"
EndIf改為
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.RedirectDvbbs.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名稱,否則你將無登陸動網(wǎng)論壇的后臺
①打開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"
好了,動網(wǎng)論壇修改完了到了這里,你的整個網(wǎng)站就都可以使用論壇的cookies了,而且登陸和退出時都會自動返回你所在的頁面你可以在其他地方取的COOKIES數(shù)據(jù)為:Request.Cookies("happy")("username")''用戶名,對應(yīng)[dv_user]表的username字段
Request.Cookies("happy")("password")''用戶隨機(jī)密碼,對應(yīng)[dv_user]表的truepassword字段
Request.Cookies("happy")("userid")''用戶id,對應(yīng)[dv_user]表的userid字段主要修改部分就這么多,其他的目錄權(quán)限設(shè)置等等,請自行解決!
三、對網(wǎng)站登陸框的修改
到這一步,我們首先看一下動網(wǎng)論壇的登陸框代碼:
<tdclass=lefttopcenter>※?會員登陸</td><tdclass=lefttopright></td></tr></table>
<tableborder="0"cellspacing="0"cellpadding="0"><tr>
<tdvalign=topclass=leftcentercenterheight=170><div>
<formmethod="post"action="login.asp?action=chk"><table><tdheight=5></td></table>
用戶名:?<inputname="username"type="text"style="100px"maxlength=’20’class="yecao"><table><tdheight=5></td></table>
密?碼:<inputname="password"type="password"style="100px"maxlength="20"class="yecao"><table><tdheight=5></td></table>
保存期:?<selectname="CookieDate"class="yecao">
<optionvalue="0"selected>不保留</option>
<optionvalue="1">保留一天</option>
<optionvalue="30">保留一個月</option>
<optionvalue="365">保留一年</option>
</select><table><tdheight=5></td></table>
<inputname="submit"type="submit"value="登錄"class="put"onmouseover="this.className=’overput’""onmouseout="this.className=’put’"class="put">
<inputname="reg"onclick=’window.location="reg.asp"’type="button"value="注冊"class="put"onmouseover="this.className=’overput’""onmouseout="this.className=’put’"class="put"fs>
</form><table><tdheight=5></td></table>
<center><ahref="lostpass.asp">找回密碼</a></center>
在我們的網(wǎng)站登陸文件中,只要使用動網(wǎng)論壇的表單名稱及登陸文件,注冊,找回密碼文件就可以了!
參考資料:
整合全站方法-動網(wǎng)論壇7版用戶cookie及登陸全站共享的修改方法中國維修網(wǎng)-驚云
=======================================
文章 2:http://www.hotrich.com/blog/article.asp?id=20
wenzhang 1中,提到的“...應(yīng)該共有三個....”估計是 Dvbbs較早版本的情況,文章2中,提到僅有一處符合自己的情況,自己用的是Dvbbs ver7.1 SP1。
文章2 的具體內(nèi)容見,題為“合動網(wǎng)用戶登陸 http://www.hotrich.com/blog/article.asp?id=20 ”的 收錄在cnblogs.com/cy163 中的文章。
首先,在一個瀏覽器中直接打開論壇,登陸成功后(注意登錄時,要選擇保持Cookie);然后,新開一個瀏覽器窗口,如何感知此刻已處于登錄狀態(tài)呢?,在自己的主頁是利用
request.Cookies("DvForum")("username")不為空來做判斷的。
l
總結(jié)
以上是生活随笔為你收集整理的解决 在 自己 “主页登录”后, 在新打开的浏览器中,打开Dvbbs论坛时,自动登录的问题, verse visa的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.SharePoint的功能
- 下一篇: nmap、Nessus、AWVS漏洞扫描