欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux下虛擬域名的實現(xiàn)(3)

 更新時間:2006年10月24日 00:00:00   作者:  

目前Linux操作系統(tǒng)十分火爆,所以很多朋友希望了解一下Linux下虛擬域名的實現(xiàn)過程。下面就基于目前比較流行的RedHat來討論一下。 三、CGI程序的編制

要實現(xiàn)虛擬域名的在線申請,就必須編寫相應(yīng)CGI程序動態(tài)修改獨(dú)立的配置文件(即上面的vhostdbm文件)和進(jìn)行用戶的管理(包括用戶申請,登錄,密碼修改等等)。在此只介紹對獨(dú)立的配置文件的操作,其他屬于如何用Perl語言來編寫CGI程序,請參考有關(guān)資料。

vhostdbm文件使用dbm格式來記錄數(shù)據(jù),與用普通文本文件相比可加快尋找速度,而且易于修改。許多UNIX系統(tǒng)都具有叫做dbm(database management)的標(biāo)準(zhǔn)庫。該庫將鍵-值對的集合存貯到一對磁盤文件中,提供簡單的數(shù)據(jù)庫管理工具,可以方便的更改、新增或刪除數(shù)據(jù)內(nèi)容。

Perl訪問dbm的方式:通過一個類似于打開文件的進(jìn)程將關(guān)聯(lián)數(shù)組與dbm數(shù)據(jù)庫聯(lián)系起來。在數(shù)組中創(chuàng)建新元素時立即就更改了dbm數(shù)據(jù)庫。刪除一個元素的同時也刪除了dbm數(shù)據(jù)庫中的數(shù)值。可使用:

1、欲將dbm數(shù)據(jù)庫與dbm數(shù)組相關(guān)聯(lián)起來:

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

如果dbmfilename不存在的話就新建該庫。%arrayname參數(shù)是Perl的關(guān)聯(lián)數(shù)組(如果這個數(shù)組已經(jīng)有值,那么這些值就被刪除)。該關(guān)聯(lián)數(shù)組連接到叫做dbmfilename的dbm數(shù)據(jù)庫中。$mode 參數(shù)是當(dāng)需要創(chuàng)建庫時控制庫文件權(quán)限的數(shù)字,該數(shù)字被指定為8制,經(jīng)常被用到的是0644,給除了機(jī)主之外的新用戶以只讀的權(quán)限,機(jī)主可有全部權(quán)限。

2、關(guān)閉dbm庫:

dbmclose(%arrayname);
%arrayname 是已經(jīng)與dbm庫關(guān)聯(lián)了的數(shù)組名。

例6、VHOST打開vhostdbm,或新建一個dbm庫:

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

例7、新建記錄或更改已有記錄(設(shè)從html文件form中傳過來的參數(shù)名為vhost、rhost):
$VHOST{$FORM{'vhost'}}=$FORM{'rhost'};

例8、刪除已有記錄(設(shè)從html文件form中傳過來的參數(shù)名為vhost):
delete $VHOST{$FORM{'vhost'}};

例9、關(guān)閉vhostdbm:

dbmclose(%VHOST);

注:以上已經(jīng)假設(shè)傳過來的參數(shù)經(jīng)過了驗證,不存在重復(fù)的記錄,否則會導(dǎo)致已有記錄的混亂。(出處:PConline)

相關(guān)文章

最新評論