我正在建立一个类似于 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 关注
- 52 浏览
添加回答
举报
0/150
提交
取消