我一直在 Rails 4 应用程序中使用 sanitize 方法来清理显示用户生成的 html 的页面,以防止脚本注入等不安全的事情。所以我有一个看起来像这样的视图:
sanitize @user_input
现在,当用户输入带有源标签的视频标签时,我遇到了问题,如下所示:
<video><source src="foo.bar"></video>
不幸的是,sanitize 似乎正在剥离源标签,因此视频不再有效。如何使用 sanitize 以允许源标签?另外,如何获取允许/禁止的标签列表?很高兴了解引擎盖下发生了什么。
为了完全清楚,我希望能够将源标签添加到白名单中。当我在 sanitize 的参数中将其指定为允许的标签时,它会删除白名单标签的所有先前默认值。例如,我仍然希望允许使用 a、h1 等默认标签。
如何将源添加到白名单而不是完成替换?