用PHP程式設計開發「虛擬網域名稱」系統

2021-04-17 08:23:29 字數 2031 閱讀 6965

如果自己的伺服器也能夠實現簡記網域名稱就好了。其實這並不複雜。你也可以做乙個簡記網域名稱系統。

簡記網域名稱系統的關鍵技術在於:實現web頁面的重定向(redirctory)。在本質上,簡記網域名稱系統和虛擬機器系統完全不同。虛擬機器的虛擬網域名稱和ip是存在一一對應關係的。而簡記網域名稱系統不需要將網域名稱和ip做一一對映。也就是說,它根本不需要複雜的網域名稱解析機制和虛擬機器來完成,它所做的事情就是當你在請求yourname.somedomain時,將你的瀏覽器重新定向到你本來存放html頁面的地方。

設定dns伺服器,使其能對泛網域名稱解析。一般的unix和linux系統的dns解析都是由bind守護程式完成的,bind4和bind8的配置檔案分別/etc/named.boot和name.conf,配置時根據你的系統修改。設定bind的配置檔案/etc/named.boot,在其中加入「primary domain.com db.domain」一句,新增乙個新的域記錄。在/etc/name.conf中加入:

zone"domain.com" ;

在/var/name/中新建主域記錄檔案db.domain,其格式為:

n soadns.domain.com root.domain.com (

199811291 ;serial

28800 ;refresh

7200 ;retry

604800 ;expire

86400) ;minimum

dn**x 10 dns.domain.com.

dnsa 202.115.135.50

wwwa 202.115.135.50

* a 202.115.135.50

最後一步是編制php3指令碼。我們剛才已經在圖中詳細的說明了整個的原理,所以寫乙個重新定向的程式就不是很難了。

讓我們來看乙個由ie5.0送出的完整http頭資訊:

accept-encoding: gzip, deflate

accept-language: zh-cn

connection: keep-alive

host:ww.yahoo.com

user-agent: mozilla/4.0 (compatible; msie 5.0b1; windows 98)

我們需要在整個http頭資訊中取出host資訊,然後將http://www.jj.jx.cn/www.***.***/default.htm形式的第一部分「www」,即hostname(也即是使用者註冊的name)單獨取出,作為重定向檢索的關鍵字。

檢索到使用者註冊的url資訊後,我們給使用者瀏覽器送乙個重定向命令「localtion: http://www.jj.jx.cn/somewhere/sample.html」,將使用者重定向到指定頁面。

在php3中,有函式getallheader(),取得瀏覽器送出的http頭資訊。我們主要需要使用此函式來完成整個程式。

後面附有源程式,由於只是實驗性質的,所以在查詢使用者資訊時,沒有使用資料庫,如果整個系統要實際應用的話,一定要和資料庫掛接起來,不然查詢使用者資訊的過程將是十分漫長,大大影響效率,而且使用者資料的管理也不方便。

在源程式中,所有使用者資訊記錄在data子目錄下user.dat檔案中。其格式為:

附php3源程式:

如何開發虛擬幣交易平台系統

據統計市場上有超過1500種活躍的虛擬幣,巨大數量的虛擬幣種類為加密貨幣交易所 應用提供了前所未有的機遇。本文將介紹虛擬幣交易系統的核心元件 主要功能和開發思路。虛擬幣交換所應用應當快速 直觀並且功能強大。為了實現這些目標,交易所應用程式應該包含以下元件 交易引擎 前端使用者介面 虛擬幣錢包 管理控...

中國發布自主開發的網域名稱系統基礎軟體 「紅楓」

開發四年只會寫業務 分布式高併發都不會還做程式設計師?9月12日訊息,網域名稱工程中心 英文縮寫 zdns 發布了宣稱自主開發的網域名稱系統基礎軟體 紅楓 maple dns 目前除了新聞稿,基本找不到相關細節,但顯然不是開源軟體。新聞稿稱,紅楓軟體在 2011 年立項,開發3年,打磨5年,由網域名...

UNP程式設計 29 名字與位址轉換之(網域名稱系統)

mx mx記錄把乙個主機指定作為給定主機的 郵件交換器 mail exchanger 上例 中主機freebsd有2個mx記錄 第乙個的優先順序值為5,第二個的優先順序值為10。當存在多個mx記錄時,它們按照優先順序順序使用,值越小優先順序越高。cname cname代表 canonical nam...