我有一個網站,可以記錄用戶提供的網頁鏈接。我只想記錄它們是否有效。使用通配符解析器檢查域有效性
我用checkdnsrr($domain, 'A')
檢查域的有效性,我注意到這個總返回true
。我在共享主機(所以我不能改變任何東西)。我向服務器管理員報告了一個錯誤,他回覆說:
我們使用OpenDNS作爲我們在服務器上的解析器。即使是無效域,他們的解析器也會返回IP/DNS記錄,因爲它們有一個通配符,用於將任何無效域指向默認IP。因爲你輸入的所有域都會顯示爲有A記錄。
那好吧。
我想避免在無效域上使用cURL
,因爲這太浪費了,但實際上存在更大的問題。我相信這個解析器會返回一些類似「這個域不存在」的錯誤頁面,並且會發出一個200或者其他一些有效的返回狀態。我使用此狀態來確認頁面確實有效,因此現在任何無效域名都將被我的網站記錄爲有效。 (幽默地說,一個有效的域名和一個無效的URL導致頁面發出404或其他錯誤狀態將而不是被記錄)。
無論如何,有沒有其他方法來檢查域的有效性?我不介意使用一些第三方網站。
使用curl可能也是毫無意義的 - 它會使用與PHP相同的解析器,並且仍然以opendns提供的任何IP(s)結束。 – 2012-03-08 04:52:46