【发布时间】:2016-07-19 01:49:53
【问题描述】:
我从用户那里获取输入,然后为提到的用户添加链接,然后在模板中传递相同的链接
输入:你好@ds
添加链接后的字符串 -
"@<a class="tweet-url username" href="/user/ds" data-screen-name="ds" rel="nofollow">ds</a>"
在 .Msg 中传递上述字符串(使用 golang 模板):
<div class="panel-body" >
<p > {{.Msg}} </p>
</div>
预期结果是:你好@ds(@ds 上有可点击的链接) 但是以文本格式获取所有内容(与输入相同)。
@<a class="tweet-url username" href="/user/ds" data-screen-name="ds" rel="nofollow">ds</a>
我错过了什么?
找到了更好的解决方案。首先,我在输入上执行 htmlEscape,然后将其存储在 db 中,然后在呈现添加链接的同时使用 document.write(string) 函数。有了这个,我不必更改模板,也不必担心 XSS 附加。此外,我还避免在我的数据库中使用 XSS 脚本。 ——
【问题讨论】:
标签: javascript html go