用一套论坛程序架设多个论坛

2016-01-29 18:54 5 1 收藏

用一套论坛程序架设多个论坛,用一套论坛程序架设多个论坛

【 tulaoshi.com - ASP 】

 

  对付抠门的空间服务商,以前大家想到了用链接数据表的方法存放更大的数据库。现在再给大家讲述另一个方法:用一个论坛的代码运行两个论坛程序。这样可以绕开那些以服务器CPU占用率过大为理由,不许在一个空间架设两套论坛程序的空间服务规定。

  一、准备数据库
  网上主流的ASP论坛程序(例如动网论坛6.1)大都是以Access数据库为基础的。论坛的全部帖子、用户信息、论坛设置等等都存放在一个数据库文件中。我们需要准备两个论坛数据库文件,然后让论坛程序根据不同的条件打开不同的数据库文件。

  将本地机的论坛上传到服务器,然后准备两个数据库分别命名为bbs1.mdb和bbs2.mdb(为了保证论坛的安全,文件名可以改得复杂一些),并上传到服务器的/abc/bbs/data/目录下。数据库既可以使用已有论坛的,也可以用论坛的初始数据库。

  二、判定条件
  用作判定进入论坛的条件有很多,比如来访者的IP地址、操作系统、访问论坛的时间等。这里笔者用的是来访者提交的URL地址。

  一个论坛有可能出现两个不同的地址,例如“www.cpcw.com”和“WWW.CPCW.COM”,两个网址虽然都指向电脑报网站,但在VbScript看来它们是两个不同的ASCII字符串,因为大小写字母被认作不同的字符。所以,大小写不同的两个地址可以做判定的条件。

  Request.ServerVariables是获取环境变量的ASP内置对象。用代码Request.ServerVariables("SCRIPT_NAME")的值就是当前执行的ASP页面的路径。例如,访问http://www.scat.com/aBc/test.asp(注意大小写!)时,Request.ServerVariables("SCRIPT_NAME")的值就是:“/aBc/test.asp”。

  我们规定两个论坛的地址分别为http://www.scat.com/ABC/bbs和http://www.scat.com/abc/bbs。其实可以用这种方法打开两个以上的论坛,因为从排列组合的角度来看,长度为n的一个URL的大小写组合可以有2的n次方种!

  三、修改论坛程序
  现在大多数的ASP论坛程序为了编程方便,开启数据库对象的代码都被独立出来放在conn.asp中,其他页面都通过引用这个文件来访问数据库。这样为我们接下来的操作提供了方便。

  用文本编辑器打开conn.asp,找到如下代码:

  Dim Db

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

  '免费用户第一次使用请修改本处数据库地址......

  DB="datadvbbs6.mdb"

  程序定义了Db这个变量,数据库的相对地址被赋给了这个字符串变量。稍后程序打开数据库对象的时候会用到这个变量的值。

  我们把这几行改成:

  Dim Db

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

  Dim Whichbbs

  Whichbbs =Request.ServerVariables("SCRIPT_NAME ")

  if left(Whichbbs,4)="/ABC" then '使用取左函数截取需要长度的字符串进行验证

  Db="/data/bbs1.mdb"

  else

  Db="/data/bbs2.mdb"

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

  end if

  这段代码的意思就是,将访问者提交的地址赋值到Whichbbs这个变量中。由于访问者在论坛中活动时,URL地址的后半段是变化的,所以只用Whichbbs的前4位与“/ABC”这个字符串做比较。如果两字符串相同,就给Db赋值"/data/bbs1.mdb";否则Db被赋值"/data/bbs2.mdb"。然后将会打开Db对应的数据库。访问者提交的地址如果是http://asp2.6to23.com/ABC,则论坛系统打开bbs1.mdb的数据库,让访问者进入bbs1.mdb中的论坛;否则打开bbs2.mdb,进入bbs2.mdb中的论坛。

  这样,你就可以在一个空间中架设不止一个论坛了,而服务器的资源占用又比单独架设两套独立的论坛系统的方法小很多。

  这个方法还可以推广开来:

  1.应用到其他涉及到数据库操作的ASP程序上,比如新闻系统、下载系统、留言板、计数器等等。

  2.用访问者IP地址做判定条件(Request.ServerVariables("REMOTE_ADDR")),做成变相的、更隐蔽的IP过滤,让不受欢迎的人不知不觉地被隔离在真正的论坛之外。

  3. 根据自己的需要,用其他信息作判定条件,打造你富有个性、多姿多彩的论坛。

 

来源:http://www.tulaoshi.com/n/20160129/1507710.html

延伸阅读
时尚论坛美容护肤 【美容护肤论坛】 美容护肤论坛是指本草美白护肤网站的互动频道,是很受女性朋友欢迎的专业美容护肤社区之一;汇集都市白领女性,拥有美容护肤、我是大美人、开心互动等专区;各种新鲜热辣的女性时尚美容护肤话题讨论、美容护肤知识辩驳;各种精彩的网友互动活动让论坛拥有较高人气。 【护肤网结构】 ...
用Photoshop制作一套社交网络图标 教程旨在教会大家如何利用Photoshop创建一系列高雅的社交图标。另外,PS CS6中的形状工具新增了选项面板,可以使用新的描边样式。这对我们接下来制作的一些效果非常有帮助。 还没有用上Photoshop CS6的同学可以去Adobe的官网下载beta版。如果你对制作本图标很感兴趣,又苦于没有时间去下载PS CS6...
苗条的身材是每个女人的毕生最求,下面我们一起来看看以下4个快速有效的减肥方法,让你轻松快速瘦出完美性感的比基尼身材。 1、更积极地“减肥”: 如果你想要自信地在这个夏天穿上性感的比基尼,那就要更加积极地投入到你的减肥计划中哦!从你的日常生活习惯开始,少坐多动、少坐车多走路、少坐电梯多走楼梯等等都是快速有效的减肥...
标签: 王者荣耀
出装解析 出门装:咒术典籍 解析:咒术典籍增加法术攻击,可以让妲己的技能伤害有所提高,并为后续合成的装备做铺垫。 前期核心装备:回响之杖+秘法之靴 解析:回响之杖增加法术攻击和移速,提升妲己前期的输出与支援速度,被动回响使妲己的技能命中敌人会触发小范围爆炸,对敌人造成额外的法术伤害,进一步加强...
标签: Web开发
代码如下: % dim param,smiles 'param是UBB标签完全可用的标记 param=full 则完全可用,否则不支持一些占位大的标签 smiles是禁止笑脸转换 function UBBCode(content) dim n,i 'on error resume next set re=new regexp re.IgnoreCase=true re.global=true re.pattern="\[code\](\r\n)?([\s\S]+?)\[\/code\]" Set Matches = re.Execute...

经验教程

248

收藏

97
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部