如何呈现带有链接但没有其他 html 的用户帖子?

我正在建立一个类似于 Twitter 的网站。用户可以发帖并使用该@username符号提及另一个用户。

起初我打算解析每个帖子服务器端并在 周围添加 html 标签@mentions,然后将帖子呈现为template.HTML(我正在使用Go服务器端),但后来我意识到用户可以添加他们想要的任何 html,并且我不想要那个。有没有办法html在忽略html用户尝试上传的任何内容的同时呈现帖子?他们上传的任何代码/标记都应以纯文本形式显示。

@mentions或者使用在客户端周围添加标记会更好javascript吗?



GCT1015
浏览 53回答 1
1回答

慕容森

好担心!这种来自用户输入的 HTML 注入是一个真正的问题,幸运的是,有一个简单的解决方法,您可以转义 HTML 字符,以便浏览器理解文本中有一个文字“<”字符,而不是 HTML 元素的开头。在 Go 中,有html.EscapeString,您可以将其传递给用户输入,然后可以在 HTML 中安全地使用它。所以你会清理输入,然后解析它并链接@mentions.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go