開發者工具 · HTML 實體轉義器
轉義、剝離或清理 HTML:三種技術以及何時使用每種技術
· 工作原理
html 安全 文字處理
轉義將標記顯示為文字,剝離將其刪除,清理保留安全子集。這篇文章解釋了每種技術的實際作用、每種技術的失敗之處,以及如何為您的輸入選擇正確的技術。
應該顯示程式碼但卻執行它的註解 - 三種技術中的錯誤選擇
本應顯示程式碼的註解卻執行了它-這是三種技術中的錯誤選擇。當應用程式將其呈現為 HTML 時,可以執行旨在顯示標記的註解。第一個決定是產品是否需要純文字、無標記,或是有意限制豐富的子集。
若要驗證轉義與清理 html,請建置供開發人員建置評論系統的評論。保留應該在三操作選擇產生並執行它時顯示代碼;確定哪些地方消費了錯誤的選擇。對三種技術的觀察僅屬於 HTML 文字。
轉義:標記變成可見文字 - 更改了什麼、保留了什麼以及為什麼它是預設值
轉義:標記變成可見文字 - 更改了什麼、保留了什麼以及為什麼它是預設值。轉義會保留每個字符,同時將標記關鍵字符更改為引用。瀏覽器將原始符號顯示為文字,使其成為註釋和程式碼範例的正確預設值。
建構註解系統的開發人員可以透過在三操作選擇通過之前記錄文字來測試轉義標記是否可見。比較被保留,為什麼之後並找到負責它的解析器是預設的。這個轉義與清理 html 結果解釋了三個操作選擇證據,而不是可執行上下文。
剝離:刪除標籤 — 為什麼正規表示式標籤剝離不可靠以及它會丟失什麼
剝離:刪除標籤 - 為什麼正規表示式標籤剝離不可靠以及它會丟失什麼。剝離會刪除明顯的標籤並失去結構、標點符號或單字。正規表示式無法足夠可靠地對瀏覽器錯誤恢復、原始文字元素或格式錯誤的嵌套進行建模以定義安全性。
在簡短的三操作選擇範例中隔離剝離刪除標籤的原因。顯示正規表示式標籤剝離作為文字來源,追蹤不可靠的內容及其目的地,並命名 API 讀取遺失。對於轉義與清理 html,三個操作選擇證據仍然是解析器綁定的證據。
清理:允許子集 — 允許清單、屬性規則、為什麼它是三者中最難的
清理:允許子集 — 允許清單、屬性規則、為什麼它是三者中最難的。清理會解析或標記標記,並保留元素、屬性和 URL 方案的明確允許清單。這要困難得多,因為瀏覽器解釋、格式錯誤的輸入和嵌套語言都很重要。
將允許子集的清理視為邊界實驗。建立評論系統的開發人員應該保留允許清單屬性規則,執行一個三操作選擇操作,並在更改最困難的字元之前逐個字元地檢查它的原因。關於三層的說法就止於此 HTML 層。
工作範例:透過所有三個相同的使用者輸入 - 比較結果文字或標記
工作範例:透過所有三個相同的使用者輸入 - 比較結果文字或標記。鑑於 <strong onclick="go()">Hi & bye</strong>, 轉義顯示了整個原始程式碼,剝離 Hi & bye 的目標,並在經過驗證的策略下,清理可能會保留 <strong> 同時刪除 onclick。
使用無害的輸入而不是客戶資料來重現相同的工作範例。記錄所有使用者輸入,觀察三個結果文字,併計算每個有意的三操作選擇傳遞。這種逃逸與清理 html 的軌跡讓建立評論系統的開發人員可以評估或標記比較以及三個操作選擇證據,而無需猜測。
依意圖選擇 — 純文字和程式碼範例轉義;富文字清理;剝離很少是正確的
依意圖選擇 — 純文字和程式碼範例轉義;富文字清理;剝離很少是正確的。從意圖中選擇:純文字和範例均被轉義;支援的富文字透過專門的、維護的策略進行清理;剝離是一種有損轉換,並不是 XSS 保證。
在三操作選擇審查期間並排放置按意圖選擇的純文字、文字和代碼示例以及轉義富文字清理。然後,建立評論系統的開發人員可以決定剝離是否很少在轉換時或下游進行正確更改。將有關三操作選擇證據的逃逸與清理 html 結論保留在一般安全宣告之外。
這不包括什麼 - Markdown 渲染和內容安全策略作為附加層
這不包括 - Markdown 渲染和內容安全策略作為附加層。 Markdown 和內容安全策略增加了單獨的階段。 Markdown 產生的 HTML 仍然需要安全渲染,而 CSP 可以限制後果,但不能修正不安全的輸出決策。
定義在執行三個操作選擇之前這不做什麼。儲存覆蓋 Markdown 渲染並作為控件,檢查內容安全策略背後的程式碼點,並將附加層對應到下一個解釋器。這使得建立評論系統的開發人員可以審核三操作選擇證據,以調查逃逸與清理 html。
重點:ToolAcre 僅執行轉義,而不執行剝離或清理
重點:ToolAcre 僅執行轉義,不執行剝離或清理。 ToolAcre 僅執行轉義情況。它不是 XSS 清理程序,也不接受惡意 HTML 來實現安全豐富的渲染;它將類似標記的輸入轉換為 HTML 文字。
連接外送ToolAcre執行轉義到可觀察的三操作選擇輸出。僅保留不剝離或在一次通過結果旁邊,然後驗證消毒進入三操作選擇的證據。建構評論系統的開發人員現在可以審查三操作選擇證據,作為死裡逃生與淨化 html 發現的比較。本文背後的實際決策是具體的:轉義將標記顯示為文字,剝離將其刪除,清理保留安全子集。這篇文章解釋了每種技術的實際作用、每種技術的失敗之處,以及如何為您的輸入選擇正確的技術。閱讀器操作同樣具體:連結至 HTML 實體轉義器並示範轉義使用者輸入片段,使其顯示為文字標記。