小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

用一套論壇程序架設(shè)多個(gè)論壇 | ASP文章中心 | ASP | SQL SERVER | XMLHTTP | ACCESS | PhpUp Studio

 張青 2006-05-03

用一套論壇程序架設(shè)多個(gè)論壇

作者:Iasky | 文章出處:未知 | 閱讀次數(shù):400 | 發(fā)布日期:2005-03-27

  對付摳門的空間服務(wù)商,以前大家想到了用鏈接數(shù)據(jù)表的方法存放更大的數(shù)據(jù)庫。現(xiàn)在再給大家講述另一個(gè)方法:用一個(gè)論壇的代碼運(yùn)行兩個(gè)論壇程序。這樣可以繞開那些以服務(wù)器CPU占用率過大為理由,不許在一個(gè)空間架設(shè)兩套論壇程序的空間服務(wù)規(guī)定。

  一、準(zhǔn)備數(shù)據(jù)庫
  網(wǎng)上主流的ASP論壇程序(例如動(dòng)網(wǎng)論壇6.1)大都是以Access數(shù)據(jù)庫為基礎(chǔ)的。論壇的全部帖子、用戶信息、論壇設(shè)置等等都存放在一個(gè)數(shù)據(jù)庫文件中。我們需要準(zhǔn)備兩個(gè)論壇數(shù)據(jù)庫文件,然后讓論壇程序根據(jù)不同的條件打開不同的數(shù)據(jù)庫文件。

  將本地機(jī)的論壇上傳到服務(wù)器,然后準(zhǔn)備兩個(gè)數(shù)據(jù)庫分別命名為bbs1.mdb和bbs2.mdb(為了保證論壇的安全,文件名可以改得復(fù)雜一些),并上傳到服務(wù)器的/abc/bbs/data/目錄下。數(shù)據(jù)庫既可以使用已有論壇的,也可以用論壇的初始數(shù)據(jù)庫。

  二、判定條件
  用作判定進(jìn)入論壇的條件有很多,比如來訪者的IP地址、操作系統(tǒng)、訪問論壇的時(shí)間等。這里筆者用的是來訪者提交的URL地址。

  一個(gè)論壇有可能出現(xiàn)兩個(gè)不同的地址,例如“www.cpcw.com”和“WWW.CPCW.COM”,兩個(gè)網(wǎng)址雖然都指向電腦報(bào)網(wǎng)站,但在VbScript看來它們是兩個(gè)不同的ASCII字符串,因?yàn)榇笮懽帜副徽J(rèn)作不同的字符。所以,大小寫不同的兩個(gè)地址可以做判定的條件。

  Request.ServerVariables是獲取環(huán)境變量的ASP內(nèi)置對象。用代碼Request.ServerVariables("SCRIPT_NAME")的值就是當(dāng)前執(zhí)行的ASP頁面的路徑。例如,訪問http://www./aBc/test.asp(注意大小寫!)時(shí),Request.ServerVariables("SCRIPT_NAME")的值就是:“/aBc/test.asp”。

  我們規(guī)定兩個(gè)論壇的地址分別為http://www./ABC/bbshttp://www./abc/bbs。其實(shí)可以用這種方法打開兩個(gè)以上的論壇,因?yàn)閺呐帕薪M合的角度來看,長度為n的一個(gè)URL的大小寫組合可以有2的n次方種!

  三、修改論壇程序
  現(xiàn)在大多數(shù)的ASP論壇程序?yàn)榱司幊谭奖?,開啟數(shù)據(jù)庫對象的代碼都被獨(dú)立出來放在conn.asp中,其他頁面都通過引用這個(gè)文件來訪問數(shù)據(jù)庫。這樣為我們接下來的操作提供了方便。

  用文本編輯器打開conn.asp,找到如下代碼:

  Dim Db

  ‘免費(fèi)用戶第一次使用請修改本處數(shù)據(jù)庫地址......

  DB="\data\dvbbs6.mdb"

  程序定義了Db這個(gè)變量,數(shù)據(jù)庫的相對地址被賦給了這個(gè)字符串變量。稍后程序打開數(shù)據(jù)庫對象的時(shí)候會(huì)用到這個(gè)變量的值。

  我們把這幾行改成:

  Dim Db

  Dim Whichbbs

  Whichbbs =Request.ServerVariables("SCRIPT_NAME ")

  if left(Whichbbs,4)="/ABC" then ‘使用取左函數(shù)截取需要長度的字符串進(jìn)行驗(yàn)證

  Db="/data/bbs1.mdb"

  else

  Db="/data/bbs2.mdb"

  end if

  這段代碼的意思就是,將訪問者提交的地址賦值到Whichbbs這個(gè)變量中。由于訪問者在論壇中活動(dòng)時(shí),URL地址的后半段是變化的,所以只用Whichbbs的前4位與“/ABC”這個(gè)字符串做比較。如果兩字符串相同,就給Db賦值"/data/bbs1.mdb";否則Db被賦值"/data/bbs2.mdb"。然后將會(huì)打開Db對應(yīng)的數(shù)據(jù)庫。訪問者提交的地址如果是http://asp2./ABC,則論壇系統(tǒng)打開bbs1.mdb的數(shù)據(jù)庫,讓訪問者進(jìn)入bbs1.mdb中的論壇;否則打開bbs2.mdb,進(jìn)入bbs2.mdb中的論壇。

  這樣,你就可以在一個(gè)空間中架設(shè)不止一個(gè)論壇了,而服務(wù)器的資源占用又比單獨(dú)架設(shè)兩套獨(dú)立的論壇系統(tǒng)的方法小很多。

  這個(gè)方法還可以推廣開來:

  1.應(yīng)用到其他涉及到數(shù)據(jù)庫操作的ASP程序上,比如新聞系統(tǒng)、下載系統(tǒng)、留言板、計(jì)數(shù)器等等。

  2.用訪問者IP地址做判定條件(Request.ServerVariables("REMOTE_ADDR")),做成變相的、更隱蔽的IP過濾,讓不受歡迎的人不知不覺地被隔離在真正的論壇之外。

  3. 根據(jù)自己的需要,用其他信息作判定條件,打造你富有個(gè)性、多姿多彩的論壇。

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多