玩轉虛擬網域名稱

2022-10-06 15:09:12 字數 1927 閱讀 2640

玩轉虛擬網域名稱◎+ .

不知道大家最近上網是否發現乙個新現象,就是有一些**開始提供「username@server」的虛擬網域名稱程式設計客棧服務。由於「@」的魅力,大家紛紛申請,你或許會想:「如果我也能提供這種服務,該多好阿:)人氣肯定不錯!」本文將給大家揭開「@」的「神秘」面紗,讓大家都可以來「@」!(do u @ today?)

別急,這個並不是電子郵件的位址,是一種虛擬網域名稱,不相信的話可以在瀏覽器中訪問「[email protected]」。部分朋友應該使用過ie的ftp功能,就是在瀏覽器的位址列中鍵入「password:username@server」ie就會自動登陸ftp伺服器;而在http1.1協議中,就規定了http訪問授權功能,形式同樣為「password:username@server」,其中「password:」可以省略,也是是訪問「[email protected]」實際上是以bbs的身份訪問「zphp.com」這個伺服器。

那麼我們只是需要將具體的uri傳送給php程式,在資料庫中搜尋出真實的url重定向就可以了。

首先我們需要製作乙個傳送uri的頁面(作為伺服器的預設文件,一般命名為inwww.cppcns.comdex.htm);在js的window物件中就可以實現這項功能,下面是index.htm的源**:

上面的**會將瀏覽器重定向到gotourl.php,並且通過querystring給變數$url賦值為當前的uri。

成功將uri傳遞給php程式後,就可以進入資料庫查詢真實url,下面是sql資料庫相對應的table 的結構:

create table domain(

id int(3) unsigned default 『0' not null, # 網域名稱id

domain char(20) not null, # 網域名稱

gotourl char(255) not null, # 真實的url

); 建立好了table,就可以開始編寫gotourl.php了,程式分為三個部分:

1、 分析url:

$url = preg_replace(「/^http:\\/\\//i」, 「」, $url); // 將url前面的「http://」去掉,不區分大小寫

$url = preg_replace(「/@.+$/」, 「」, $url); // 將「@」後面的部分去除

那麼,剩下的url就只含有「username」的部分了。

為了給資料庫應用,需要對銘感的字元進行處理:

$url = addslashes($url);

2、 搜尋真實的url:

這裡為了實現程式的通用性,使用了乙個資料庫的操作類(修改自phplib)來操作sql資料庫:

$db = new dbsql(); // 連線資料庫

$querystring = sprinf(「select gotourl from domain where domain='%s';」, $url); // 生成查詢字串

$gotourl = $db->result($querystring); // 查詢取得結果

3、 重定向:

在php中重定向瀏覽器有多種方法,在這裡使用比較簡單的httpheader來實現:

header(「location: $gotourl」);

附 其實像網易那程式設計客棧樣子的「程式設計客棧username.yeah.net」的虛擬網域名稱服務和「@」的實現方法大同小異,但是「.」需要以價值200元的dns泛解析為代價,而「@」所需要的僅僅是:

1、 php/sql資料庫的許可權;

2、 真正dns解析的網域名稱。

如果需要在虛擬網域名稱服務中加入廣告,比如網易的popup視窗,可以將重定向部分改為:

為了對得起「天地良心」,筆者沒有將合併後完整的程式加上來(騙稿費?),如果大家比較懶,需要完整的**(包括了新增等等),可以在或者取得。希望大家都有乙個好的訪問量。 

本文標題: 玩轉虛擬網域名稱◎+ .

本文位址:

玩轉虛擬網域名稱

玩轉虛擬網域名稱 不知道大家最近上網是否發現乙個新現象,就是有一些 開始提供 username server 的虛擬網域名稱服務。由於 的魅力,大家紛紛申請,你或許會想 如果我也能提供這種服務,該多好阿 人氣肯定不錯!本文將給大家揭開 的 神秘 面紗,讓大家都可以來 do u today?別急,這個...

Apache配置虛擬網域名稱

apache配置檔案的修改。apache httpd.conf,開啟httpd.conf檔案。1 找到 loadmodule rewrite module modules mod rewrite.so 把前面的 去掉。2 打到以下 斷 options followsymlinks allowover...

Xampp Apache 配置虛擬網域名稱

1.找到 c盤 window system32 drivers etc hosts檔案用記事本開啟,往裡面新增 2.找到在c盤xampp目錄進入apache conf extra httpd vhosts.conf檔案,記事本開啟在最後新增 serveradmin admin xiaoq.com d...