如何在rails中安全地保存/检索HTML标签到数据库?

我需要在我的rails应用程序中安全地将HTML标记保存/检索到数据库.目前我保存HTML没有任何验证如下:

在视图中我使用<%= raw @ page.desription%>.它按预期工作.但我需要知道它是否安全?

最佳答案
你永远不能确定它是安全的.始终将所有用户输入视为敌对.

但是,如果“安全”是指“没有可能真正有害的元素,如< script> s和< style> s”,那么我会向您呈现Sanitization Helper.您可以从数据库中打印HTML并仅允许某些标签的白名单.

<%= raw sanitize @ page.description,tags:%w(h2 p strong em a),attributes:%w(id class href)%>

上面的例子将允许所有h2,p,strong,em和a标签,以及它们上只有id,class和href属性.其他一切都将被删除.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些