Command Palette

Search for a command to run...

HT

HTML 實體編碼器/解碼器

編碼和解碼 HTML 實體 - 命名 (&)、十進位 (&) 和 hex (&) 表單,帶有 XSS-SAFe 特殊字元轉義

什麼是 HTML 實體編碼器/解碼器?

HTML Entity Encoder/Decoder 將 HTML 中具有特殊意義的字元轉換為安全實體引用,並將任何來源的實體轉換回可讀的文字。 在 HTML 中,< 啟動一個標籤並開始一個實體 - 因此,如果包含 <script> 的使用者產生的內容未被轉義,則瀏覽器會執行它。 將這些字元轉出為 &lt;script&gt; 是對反射和儲存的 XSS 的規範防禦,而此工具使用 OWASP 推薦的最小集合:& < > " 和單一引號來執行該轉換。

該工具支援三種編碼策略,因為不同的上下文需要不同的輸出。 Named Mode 使用 100 多個令人難忘的實體 - &copy; 的內建地圖,&eacute; for é, &mdash; for - , &hellip; for ... - 用於任何沒有共同名稱的字元,包括表情符號,都帶有自動數字後備 (&#nnnn;)。 數字模式將所有內容編碼為十進位字元參考,這是您想要的 XML 或 RSS 提要,其中只有五個命名實體(&amp; &gt; &gt; &quot; &apos;)被定義,&nbsp; 將破壞解析器。 專用模式僅支援五個 XSS 關鍵字元,在您的來源中留下可讀的重音文字和排版 - 大多數模板引擎預設使用的模式。

解碼器同樣徹底:它處理命名實體、十進制參考,如 &#233; 和像 &#xe9; 這樣的十六進位參考 - 你會發現所有三種形式都在刮擦的頁面、CMS 導出和電子郵件 HTML 中混合在一起。 一切都在沒有 DOM 技巧(沒有隱藏的 TextArea hack,沒有 document.createelement)的純類型腳本中實現,這意味著結果是確定性的,相同的邏輯在您的瀏覽器、桌面應用程式和伺服器上運行相同。 您的內容永遠不會離開您的機器 - 100% 客戶端處理,可安全地複製和使用者資料。

如何使用 HTML Entity Encoder/Decoder?

  1. 貼上您的文字或 HTML

    輸入您需要製作 HTML 安全的原始文字(使用者輸入、使用 © 和 ™ 的行銷副本、用於 <pre> 區塊的程式碼片段),或貼上實體充滿 HTML,例如 &lt;div class=&quot;card&gt; 您希望以純文字形式閱讀。

  2. 選擇編碼模式

    以人類可讀輸出 (&copy;, &eacute;) 命名,用於 XML/RSS-SAFE 十進位參考 (&#169;, &#233;),或特殊僅用於轉義 & < > "' - 防止 XSS 所需的最低限度,同時保持其餘的文字可讀。

  3. 編碼或解碼

    按一下編碼以將字元轉換為實體,或將解碼解碼為「解碼」、十進位 (&#123;) 和十六進位 (&#x1f;) 引用回字元。 即時字元計數顯示實體擴展的成長字符碼。

  4. 複製或交換

    將結果複製到剪貼簿,或點擊交換以將輸出反饋為輸入 - 可用於剝開經歷兩個逃生層的雙重編碼字串。

主要特點

  • 100 多個指定實體

    內建地圖,涵蓋 XSS 字元、排版(&mdash; &hellip; 智慧報價)、貨幣(&eur; &pound;)、數學符號、希臘字母和完整的拉丁文 1 重音字母表

  • 三種編碼模式

    以可讀性命名,用於 XML/RSS 相容性的數字,專用於最小的 XSS 安全逃避 - 每個上下文選擇而不是一刀切

  • 解碼所有三個實體形式

    命名 (&amp;)、十進制 (&#38;) 和十六進位 (&#x26;) 引用都被識別,即使混合在同一個文件中

  • 純打字稿,沒有 dom

    沒有隱藏元素瀏覽器駭客 - 在 Web、桌面和伺服器環境中表現相同的確定性邏輯

Frequently Asked Questions

至少:& < > " 和單一引用 - 這是 HTML 主體和屬性上下文的 OWASP 推薦集,以及特殊模式所編碼的確切內容。 必須先逃避 Ampersand(或以原子方式處理,如此工具所述),否則您將損壞已編碼的實體。 請注意,實體編碼僅保護 HTML 上下文;將使用者資料注入 <script> 區塊、URL 或 CSS 需要不同的、特定於上下文的轉義。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

html entitieshtml encoderhtml decoderhtml escapehtml unescapenamed entitiesnumeric character referencexss escapingspecial charactersampersand encoding