簡體   English   中英

如何呈現帶有鏈接但沒有其他 html 的用戶帖子?

[英]How to render user posts with links but no other html?

我正在建立一個類似於 twitter 的網站。 用戶可以使用@username表示法發表帖子並提及另一個用戶。

起初我打算解析每個帖子服務器端並在@mentions周圍添加 html 標簽,然后將帖子呈現為template.HTML (我正在使用Go服務器端),但后來我意識到用戶可以添加他們想要的任何 html,我不想要。 有沒有辦法將帖子呈現為html而忽略用戶嘗試上傳的任何html 他們上傳的任何代碼/標記都應以純文本形式顯示。

或者使用javascript@mentions客戶端周圍添加標記會更好嗎?

好擔心! 這種來自用戶輸入的 HTML 注入是一個真正的問題,幸運的是,有一個簡單的解決方法,您可以轉義 HTML 字符,以便瀏覽器理解文本中有一個文字“<”字符,而不是 HTML 元素的開頭。

在 Go 中,有html.EscapeString ,您可以將其傳遞給用戶輸入,然后可以安全地在 HTML 中使用。 因此,您將對輸入進行清理,然后對其進行解析並鏈接@mentions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM