0

我有一个包含此 sanitize() 代码的部分:

<%= sanitize comment.body,
:tags => %w(a b embed i img object p param),
:attributes => %w(allowfullscreen allowscriptaccess href name src type value) %>

我希望用户能够嵌入视频、链接、图片、使用斜体、粗体等。

这有多不安全,如果我把它放在实时网站上,我应该期待或准备处理什么?

注意:这是假设显然没有对输入进行消毒。

谢谢阅读。

4

1 回答 1

1

您真正需要注意的标签是 <script/> 和 <object/>。

如果允许视频,您应该验证与来自 YouTube 和其他系统的预期值相匹配的可接受对象格式,或者(理想情况下)创建一个处理用户嵌入的 UI。

去年,我创建了一个允许视频嵌入的系统,方法是获取 YouTube URL 并手动导出对象嵌入代码。它的好处是使用户体验非常精简,并保护系统免受潜在的攻击。

哦,还有其他事情 -如果可以的话,请使用strong an em,而不是bi 。

于 2010-08-30T04:16:56.307 回答