您的位置:首页操作系统Linux → Linux下虚拟域名的实现(3)

Linux下虚拟域名的实现(3)

时间:2004/10/15 0:28:00来源:本站整理作者:蓝点我要评论(0)

    

目前Linux操作系统十分火爆,所以很多朋友希望了解一下Linux下虚拟域名的实现过程。下面就基于目前比较流行的RedHat来讨论一下。


三、CGI程序的编制

  要实现虚拟域名的在线申请,就必须编写相应CGI程序动态修改独立的配置文件(即上面的vhostdbm文件)和进行用户的管理(包括用户申请,登录,密码修改等等)。在此只介绍对独立的配置文件的操作,其他属于如何用Perl语言来编写CGI程序,请参考有关资料。

  vhostdbm文件使用dbm格式来记录数据,与用普通文本文件相比可加快寻找速度,而且易于修改。许多UNIX系统都具有叫做dbm(database management)的标准库。该库将键-值对的集合存贮到一对磁盘文件中,提供简单的数据库管理工具,可以方便的更改、新增或删除数据内容。

  Perl访问dbm的方式:通过一个类似于打开文件的进程将关联数组与dbm数据库联系起来。在数组中创建新元素时立即就更改了dbm数据库。删除一个元素的同时也删除了dbm数据库中的数值。可使用:

  1、欲将dbm数据库与dbm数组相关联起来:

  dbmopen(%arrayname,"dbmfilename",$mode);

  如果dbmfilename不存在的话就新建该库。%arrayname参数是Perl的关联数组(如果这个数组已经有值,那么这些值就被删除)。该关联数组连接到叫做dbmfilename的dbm数据库中。$mode 参数是当需要创建库时控制库文件权限的数字,该数字被指定为8制,经常被用到的是0644,给除了机主之外的新用户以只读的权限,机主可有全部权限。

  2、关闭dbm库:

  dbmclose(%arrayname);
  %arrayname 是已经与dbm库关联了的数组名。

  例6、VHOST打开vhostdbm,或新建一个dbm库:

  dbmopen(%VHOST,"vhostdbm",0644);

  例7、新建记录或更改已有记录(设从html文件form中传过来的参数名为vhost、rhost):
  $VHOST{$FORM{'vhost'}}=$FORM{'rhost'};

  例8、删除已有记录(设从html文件form中传过来的参数名为vhost):
  delete $VHOST{$FORM{'vhost'}};

  例9、关闭vhostdbm:

  dbmclose(%VHOST);

  注:以上已经假设传过来的参数经过了验证,不存在重复的记录,否则会导致已有记录的混乱。

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 Cygwin安装教程(图文)CentOS安装教程(CentOLinux系统安装Vmware图

最新文章 Linux测试网速命令是什Cygwin安装教程(图文) CentOS安装教程(CentOS 6.4图文安装)Linux系统安装Vmware图文教程Stingray Traffic Manager配置教程ubuntu u盘安装图解

人气排行 Linux系统安装Vmware图文教程Cygwin安装教程(图文)命令行Makefile和make命令讲解教程关于linux vim命令 总结CentOS安装教程(CentOS 6.4图文安装)用vnc实现windows远程连接linux桌面 vnc安装Linux系统下应用软件安装教程教你手工卸载ubuntu下的vmware系列软件