JavaScript 中取消轉義HTML 實體:避免XSS 漏洞的指南
在JavaScript 中,處理來自不受信任來源的資料時,請小心取消轉義HTML 實體對於防止跨站腳本(XSS) 漏洞至關重要。提供的範例示範了包含透過 XML-RPC 傳回的 HTML 實體的字串按字面顯示而不是正確呈現的問題。
基於DOM 的受信任字串解決方案:
For受信任的字串,其目的是在文件中顯示HTML 內容,可以使用以下函數:
function htmlDecode(input) { var doc = new DOMParser().parseFromString(input, "text/html"); return doc.documentElement.textContent; }
此方法使用DOMParser 從輸入字串建立臨時文件。然後,documentElement 的 textContent 屬性會擷取未轉義的文字。
不受信任字串的注意事項:
處理不受信任的字串時,必須注意使用基於DOM 的字串像上面這樣的方法可能會引入XSS 漏洞。當輸入字串包含未轉義的 HTML 標籤時,就會發生這種情況,從而允許瀏覽器執行惡意程式碼。
診斷技術:
以上是JavaScript 如何安全地對 HTML 實體進行轉義以防止 XSS 漏洞?的詳細內容。更多資訊請關注PHP中文網其他相關文章!