「中斷的鏈結」報告
這份報告提供網站上所找到之中斷鏈結的相關資訊。
重要性
存取整個網站來確保進行徹底的安全測試,非常重要。如果發現您的Security Issues報告未顯示任何安全問題,可能是因為有中斷的鏈結,使得掃描引擎無法抵達整個網站。
如何觸發中斷鏈結
鏈結有可能基於多種原因而報告為已毀損:- 已移動或刪除目的地目標。
- 已移動來源文件,URL 的呈現無效。
- URL 的形式不完整(包括非必要的空格)。
- HTML 使用的語法不正確(如起始標籤、結尾標籤順序不對),以及可能未出現在瀏覽器中的編碼錯誤。
- 伺服器配置有了改變。
不同類型的中斷鏈結錯誤
這份表格列出可能出現在報告中的不同中斷鏈結錯誤:
術語 | 定義 |
---|---|
找不到檔案 | 當 URL 指向伺服器上不存在的檔案時,便出現這個情況。通常是 URL 拼字錯誤,或目的地檔案已刪除或重新命名,造成這些錯誤。 |
其他 | 無法開啟檔案,因為裝置未備妥。 未獲授權的使用者無法存取文件。 伺服器瞭解要求,但拒絕履行要求。 |
無法連接 | 當目標伺服器未回應瀏覽器要求,便出現這個情況。這些錯誤通常是因為伺服器當掉或太忙。 |
找不到主機 | 當 URL 指向用主機/網域名稱(完整網域名稱)找不到的伺服器時,便出現這個情況。這類型的錯誤通常表示 DNS 系統或 DNS 系統連線功能發生問題,或發生一般網際網路連線功能問題。 |
逾時 | 當現有的伺服器有回應,但傳回資料的速度太慢,瀏覽器已逾時,便出現這個情況。 |
中斷鏈結的補救和最佳實務
- 驗證 URL 的延伸。
- 驗證拼字。即使最小的拼字錯誤,也可能使鏈結中斷。
- 檢查重新命名的檔名。
- 確認 URL 沒有不應有的標籤、換行或標點符號。
- 確定您使用相對鏈結,不用絕對鏈結。
- 造訪外部鏈結的首頁,透過其搜尋機能來搜尋鏈結。
在特定狀況之下,即使鏈結的運作看起來正常,也可能報告為已中斷。這一節說明其中某些狀況,並提供其修正建議。
- 鏈結含有換行:如果鏈結含有換行,則這個換行會正確解譯為一個空格,鏈結會被報告為已中斷。例如,
<p>This is a test line to show a <a href="testbro<br />kenlink.htm">Broken Link</a></p>
建議:雖然部分瀏覽器傾向於忽略換行,讓鏈結能夠運作,但仍應將換行移除,以符合 HTML 標準。
- Proxy 設定不正確:「中斷的鏈結」報告有賴於正確設定 Proxy 資訊,才能可靠地運作。倘若 Proxy 設定不正確,即使外部鏈結能夠運作,也可能報告為已毀損。
- JavaScript™ 中的 URL 已中斷:如果指向外部 JavaScript™ 檔的參照含有相對路徑,如
<SCRIPT SRC= "globaljava.js"...>
,則即使這個外部檔案中的 URL 沒有中斷,也可能會報告為已中斷。這類型的中斷的鏈結是在剖析檔案(而非執行檔案)時出現。這個檔案內的相對 URL 會解譯為相對於 JavaScript™ 檔,而不是相對於包含在 JavaScript™ 檔內的 URL。Script 撰寫者無法一直確定參照檔案的位置。 - 在掃描中找不到中斷的鏈結:部分中斷鏈結可以重新導向到「自訂錯誤頁面」。當出現中斷的鏈結時,想要向使用者呈現個人化說明的網站,常常會使用這個實務。由於這個自訂錯誤頁面實際上是有效頁面,因此,當要求頁面時,掃描不會收到 404(已中斷)HTTP 回覆碼。相反地,它會得到 200(正常)回覆碼,因為掃描認為這個頁面沒問題。
- 外部鏈結出現在「其他」種類中:外部鏈結有可能因為鑑別認證未被接受,而出現在這個種類中。如果您利用自訂規則來檢查第三方網站,且所檢查的其中一個頁面需要鑑別,便會使用在「連線」頁面上輸入的鑑別認證。如果所掃描的第三方頁面無法接受這些鑑別認證,頁面便會顯示為中斷鏈結。
- HTML DOM 呈現為環境定義:HTML DOM(文件物件模型)是一個瀏覽器介面,可讓您存取將在瀏覽器中載入的頁面,只有在頁面上執行 JavaScript™ 時,才會使用。因此,如果鏈結的「環境定義」是 HTML DOM,它便是利用 JavaScript™ 執行所找到的鏈結。
- JavaScript™ 呈現為環境定義:您需要將 JavaScript™ 設為「執行 Javascript 來探索 URL 和動態內容」(一般情況)或「剖析 Javascript 來探索 URL」(少數情況),有可能因而造成「誤判」。
- 逾時數量龐大:如果報告指出有大量「逾時」鏈結,而這些看起來似乎有誤,請嘗試調整您的內容掃描工作設定。
這份報告的應知資訊
- 倘若外部網域 URL 是從內部網域的頁面重新導向而來,便會出現在報告中。它重新導向所到的頁面會受到剖析,且會被視為報告中的一個「頁面」。
- 如果您的網站使用頁框,則「HCL® 軟體服務中心」或「產品管理員」可以讓 PageComponent 資料集可供使用,供您用來分組報告結果:
- PageComponent:可用來識別組成網頁的檔案,如 gif、js、html 或頁框。
- PageComponent ID:掃描期間所指派,用來識別這個特定頁面元件的唯一 ID。請開啟「關於此 PageComponent」報告,以查看關於這個特定 PageComponent 的詳細資料。