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

2016-01-29 18:54 1 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

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

  DB="datadvbbs6.mdb"

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

  我们把这几行改成:

  Dim Db

  Dim Whichbbs

  Whichbbs =Request.ServerVariables("SCRIPT_NAME ")

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

  Db="/data/bbs1.mdb"

  else

  Db="/data/bbs2.mdb"

(本文来源于图老师网站,更多请访问https://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过滤,让不受欢迎的人不知不觉地被隔离在真正的论坛之外。

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

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

 

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

延伸阅读
苗条的身材是每个女人的毕生最求,下面我们一起来看看以下4个快速有效的减肥方法,让你轻松快速瘦出完美性感的比基尼身材。 1、更积极地“减肥”: 如果你想要自信地在这个夏天穿上性感的比基尼,那就要更加积极地投入到你的减肥计划中哦!从你的日常生活习惯开始,少坐多动、少坐车多走路、少坐电梯多走楼梯等等都是快速有效的减肥...
用Photoshop制作一套社交网络图标 教程旨在教会大家如何利用Photoshop创建一系列高雅的社交图标。另外,PS CS6中的形状工具新增了选项面板,可以使用新的描边样式。这对我们接下来制作的一些效果非常有帮助。 还没有用上Photoshop CS6的同学可以去Adobe的官网下载beta版。如果你对制作本图标很感兴趣,又苦于没有时间去下载PS CS6...
标签: ASP
  大家应当注意到了,我们所要用的函数Instr的小秘密就是它的最后一个可选择参数Compare,因为我们的UBB代码需要大小写不敏感的,默认的情况下,函数Instr是要进行二进制匹配的,也就是说是对大小写敏感的,所以记住了,这个 Compare参数的值应当设置成为1才可以满足我们的要求。 Replace 函数 返回字符串,其中指定数目的某子...
标签: 护肤
这个夏天清爽无油 肌肤出油始终是女性最头痛的问题,泛着油光的脸庞不但容易造成脱妆现象,更因为毛孔阻塞而有痘痘、暗疮的产生,眼看着气候愈来愈热,肌肤中的油脂成分也愈来愈不安分,妳是否有完善的防备,来应付这些头痛的面油脂肪?根据调查,肌肤温度每上升一度,蕴藏在皮肤内的油脂分泌就会有10%的增加量,所以,要让油光不再恣意放肆,...
1.不要用仪器祛斑! 奉劝大家不要去用仪器祛斑,那样只会解决暂时的问题,比如遗传性雀斑,以后一定会反弹,而且后遗症很大,往往会毁掉你的脸。我们实体店就接到很多顾客,用激光或者冷冻祛斑,导致脸发青发紫,这时候就是神仙也无法挽救了,我们遇到这样的顾客,也只是告诉她们,没法彻底祛除,只能淡化。 2.不要把化妆品当做祛斑药品! ...

经验教程

612

收藏

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