我正在建立一個類似于 Twitter 的網站。用戶可以發帖并使用該@username符號提及另一個用戶。起初我打算解析每個帖子服務器端并在 周圍添加 html 標簽@mentions,然后將帖子呈現為template.HTML(我正在使用Go服務器端),但后來我意識到用戶可以添加他們想要的任何 html,并且我不想要那個。有沒有辦法html在忽略html用戶嘗試上傳的任何內容的同時呈現帖子?他們上傳的任何代碼/標記都應以純文本形式顯示。@mentions或者使用在客戶端周圍添加標記會更好javascript嗎?
1 回答

慕容森
TA貢獻1853條經驗 獲得超18個贊
好擔心!這種來自用戶輸入的 HTML 注入是一個真正的問題,幸運的是,有一個簡單的解決方法,您可以轉義 HTML 字符,以便瀏覽器理解文本中有一個文字“<”字符,而不是 HTML 元素的開頭。
在 Go 中,有html.EscapeString
,您可以將其傳遞給用戶輸入,然后可以在 HTML 中安全地使用它。所以你會清理輸入,然后解析它并鏈接@mentions
.
- 1 回答
- 0 關注
- 66 瀏覽
添加回答
舉報
0/150
提交
取消