開發者工具

HTML 實體

跳脫標記字元使其以文字顯示,或將其解碼還原。

HTML 實體 在您的裝置上執行
  • 在您的瀏覽器中執行 — 您的文字絕不會傳送到任何地方
  • 免註冊、無額度限制,可隨您高興使用多少次

運作方式

把不可信任的文字未經跳脫就放進網頁,就是跨站腳本攻擊(XSS)的成因。編碼會把瀏覽器視為標記的字元轉換成實體,讓它們被顯示出來而不是被執行。

哪些字元會被編碼

五個關鍵字元:與號、小於號、大於號、雙引號與單引號。與號必須最先編碼,否則其後的內容都會被重複編碼。

解碼

解碼時會使用瀏覽器的解析器(而非查詢對照表)把具名與數字實體還原成字元,因此能正確處理完整的實體集合。

確切編碼的內容

編碼會取代五個字元:& 變成 &amp;、< 變成 &lt;、> 變成 &gt;、" 變成 &quot;,' 變成 &#39;。這樣就足以在 HTML 內與帶引號的屬性中安全地顯示文字。帶重音符號的字母與表情符號會維持原樣,因為 UTF-8 頁面可以直接顯示它們。

解碼

解碼能理解 HTML 定義的每一個具名實體,例如 &eacute;、&mdash; 與 &nbsp;,以及十進位或十六進位的數字實體(&#233;、&#xE9;),因為它使用的是您瀏覽器自己的 HTML 解析器。

常見問題

HTML 實體常見問題

這樣我的網站就能免於 XSS 攻擊嗎?

對輸出進行跳脫是必要的一環,但安全與否取決於在正確的情境中跳脫。若您使用的框架有提供跳脫功能,請使用框架內建的。

它會編碼哪些字元?

與號、小於號、大於號、雙引號與單引號,也就是瀏覽器否則會當成標記語法來解讀的那些字元。

我的文字會被上傳嗎?

不會。編碼在頁面中執行。