本程式可查詢同一 IP 地址下託管的所有域名,支援域名或 IP 直接查詢,採用 AJAX 異步顯示結果,介面簡潔實用。
function visitorIP() {
if ($_SERVER['HTTP_X_FORWARDED_FOR']) return $_SERVER['HTTP_X_FORWARDED_FOR'];
elseif ($_SERVER['HTTP_CLIENT_IP']) return $_SERVER['HTTP_CLIENT_IP'];
else return $_SERVER['REMOTE_ADDR'];
}
function cleanDomain($q, $w=0) {
$q = htmlspecialchars(strtolower(trim($q)));
// 移除協議前綴、可選移除 www.、去除尾部斜杠
return $q;
}
HTTPRequest 類封裝了完整的 HTTP/1.0 請求流程:
function ReverseIP($q) {
$htm = get_html('https://www.ip-adress.com/reverse_ip/'.$q);
preg_match_all('/<a href="\/whois\/(.*)">Whois<\/a>/', $htm, $tt);
return $tt[1]; // 返回域名列表
}
數據來源:ip-adress.com 的反向 IP 查詢頁面。
?action=doReverseIP() 並返回 HTML 列表#ipresult 容器function startRequest() {
var domain = "=$ip?>";
xmlHttp.open("POST", "./?action=do", true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send("q=" + domain);
}
allow_url_fopen 或確保 fsockopen 可用ip-adress.com,穩定性受其影響gethostbyname() 可能不適用,需擴展