我正在建立一個類似于 twitter 的網站。用戶可以使用該@username符號發表帖子并提及另一個用戶。
起初我打算決議每個帖子服務器端并在 周圍添加html標簽@mentions,然后將帖子呈現為template.HTML(我正在使用Go服務器端),但后來我意識到用戶可以添加他們想要的任何html,并且我不想要那個。有沒有辦法html在忽略html用戶嘗試上傳的任何內容的同時呈現帖子?他們上傳的任何代碼/標記都應以純文本形式顯示。
@mentions或者使用在客戶端周圍添加標記會更好javascript嗎?
uj5u.com熱心網友回復:
好擔心!這種來自用戶輸入的 HTML 注入是一個真正的問題,幸運的是,有一個簡單的解決方法,您可以轉義 HTML 字符,以便瀏覽器理解文本中有一個文字“<”字符,而不是 HTML 元素的開頭。
在 Go 中,有html.EscapeString,您可以傳遞用戶輸入,然后可以在 HTML 中安全地使用它。所以你會清理輸入,然后決議它并鏈接@mentions.
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/493486.html
標籤:javascript html 去 html-模板
上一篇:命名的回傳切片是否需要在Go中使用make進行初始化?
下一篇:如何模擬呼叫io.Copy的函式
