Wabow Information Inc. Blog
分類: 軟體測試 作者: suzy
27 8 月 2009接獲一項來自 Neo 的任務, "用PHP 實作由 CNAME 去判定新加入服務的 DOMAIN 為申請人所有" (證明他不是來亂的).
For Example:
Google Apps 就是用這個方式去作驗證
CNAME 是 DOMAIN or SUB DOMAIN 指向另一個 DOMAIN 的方式. (跟 alias 一樣)
那麼如果要用 PHP 實作呢? 有兩種方式 :
1. PHP5 內建的 dns_get_record() (Windows & BSD & Mac 不適用)
2. PEAR NET_DNS
NET_DNS 原理是用 fsockopen("你的 DNS SERVER IP", 53),
但是要先自己組合出 "封包的header data" 再丟過去, DNS Server 才會理你唷.
這些複雜的部份 NET_DNS 已經都幫我們做好了.
我們只要:
require_once('Net/DNS.php'); $ndr = new Net_DNS_Resolver(); $answer = $ndr->search("www.OOO.com", "CNAME"); echo "<pre>"; print_r($answer); // 獲得的結果 Array ( [0] => Net_DNS_RR_CNAME Object ( [name] => www.OOO.co.nz [type] => CNAME [class] => IN [ttl] => 86400 [rdlength] => 18 [rdata] => store XXX�3 [cname] => store.XXX.com ) ) |
PS, 在 Windows 環境, 請修改 PEAR/NET/DNS/Resolver.php 裡的
var $resolv_conf = '/etc/resolv.conf'; |
改成
var $resolv_conf = 'D:\Appserv\resolv.conf'; |
resolv.conf 要加入你的 DNS Server (請用 ipconfig /all 查詢)
nameserver 168.95.192.1 |
這個部落格分享了哇寶在電子商務領域的技術及資訊,希望能讓更多人一起為台灣的網路產業加油。