[英]How to check if a domain name is a CNAME in PHP
如何檢查訪問該頁面的URL是原始URL還是CNAME記錄。
例如,我有一個站點domain.com
。 用戶可以設置CNAME,將www.otherdomain.com
鏈接到我們的網站domain.com
。
從我們的服務器角度來看,如何檢測訪問該頁面的URL是實際的( domain.com
)還是CNAME的( www.otherdomain.com
)?
我認為您必須查詢DNS以了解它,因為此信息通常不會出現在請求標頭中。
查看PHP文檔中的dns_get_record和checkdnsrr函數。
您可以使用PHPDNS類庫來查找給定URL的DNS記錄類型。
$answer->results[x]->typeid //Textual record type ID (A, MX, CNAME etc)
如果您正在檢查URL,則可以在PHP中使用$_SERVER['HTTP_HOST']
。 這是URL中請求的主機(例如http://otherdomain.com/blah.php會使服務器var成為otherdomain.com
)。 $_SERVER['SERVER_NAME']
是httpd.conf中配置的服務器名稱。
如果HTTP_HOST!= SERVER_NAME,則遠程用戶幾乎肯定會使用某種別名來訪問該站點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.