首頁 >後端開發 >Golang >為什麼 html/template 轉義 \'<\' 而不是 \'>\'?

為什麼 html/template 轉義 \'<\' 而不是 \'>\'?

Susan Sarandon
Susan Sarandon原創
2024-11-04 05:33:29841瀏覽

Why does html/template escape 」? “/>”? " />

了解HTML/模板轉義

提出了一個問題,涉及html/模板在保留「>」時不必要地將「

HTML 轉義以確保安全

HTML/template 提供了潛在的自動轉義用於防止程式碼注入漏洞的危險字元。這種轉義是上下文相關的,確保資料在嵌入不同上下文(例如 HTML、CSS 或 URI)時得到正確編碼。

HTML 的html/template僅輸出

但是,值得注意的是html/template 是專門為產生HTML 輸出而設計的,其主要目的是提供一種將使用者提供的資料嵌入HTML 文件中的安全方法。

使用text/template 進行非HTML 輸出

如果您需要的輸出不是HTML,您應該使用text/template ,與html/template 不同,text/template 。不執行轉義,允許您產生純文字或自訂檔案格式。

結論

在提供的範例中,範本旨在產生非 HTML文件,例如自述文件或授權。因此,您應該使用不轉義字元的text/template,以避免不必要的“

以上是為什麼 html/template 轉義 \'<\' 而不是 \'>\'?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn