簡體   English   中英

如何檢測 JavaScript 中的 DNS 查找錯誤

[英]How to detect DNS lookup error in JavaScript

我想知道有沒有辦法檢測 JavaScript 中的 DNS 查找錯誤。

是否有一些代碼或一些技巧工作?

或者這是不可能完成的任務?

有人可以解釋一下嗎? 多謝!

當隨機最終用戶的機器上出現“DNS 查找失敗”時,無法准確預測會發生什么行為。

例如,當在不存在的域 (NXDOMAIN) 上執行查找時,許多 ISP 會返回他們自己的“幫助程序”搜索頁面/站點。 這也稱為DNS 劫持

用戶還可以在本地“主機文件”上配置他們自己的域條目,這會導致“誤報”。

對於更可靠的方法,您應該在您的服務器上執行此查找,這應該可以更好地指示域是否可以訪問更廣泛的世界。 它還可以讓您區分站點是否只是從用戶的機器關閉或無法訪問,而不是無效的條目。

如果您的意思是 err_name_not_resolved,那是因為根本沒有連接或無法聯系 dns 服務器。 如果您使用的是 XHR,那么只需為您的 xhr.onerror 分配一個函數: xhr.onerror = () => { alert('Failed DNS resolution'); }; xhr.onerror = () => { alert('Failed DNS resolution'); }; 請注意,該錯誤仍會出現在控制台中,這是有意為之。 如果 xhr.onload 也不是未定義的,它也應該仍然嘗試運行,所以這是要記住的另一件事。

如果你的意思是找到一個頁面但它不存在,那應該簡單地返回一個 404。使用 xhr 你只需閱讀if(xhr.status === 404) { ... }

如果您的意思是找到一個頁面但獲得了錯誤的 IP 地址,嘗試通過 dns 劫持網絡釣魚站點,有幾種方法可以解決這個問題。 第一個是硬編碼 IP 地址,第二個是證書,第三個是任何類型的隱藏代碼,兩台計算機都應該知道期望彼此驗證什么。 可能還有其他方法,這只是我的頭頂。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM