我正在编写一个应用程序,在浏览器中执行大量繁重的计算以生成和格式化某些内容。生成的内容是我想要保存在服务器上的HTML(结构,链接,计算结果等)。它没有任何javascript或CSS(在样式标签中)。
我是否可以在模型的before_save
或after_initialize
方法中使用Rails方法或插件从内容中剥离javascript / css并安全地将其发送回浏览器(通过JSON,FYI)鉴于内容的简单结构,在防止XSS攻击的同时?
答案 0 :(得分:2)
我个人使用Sanitize宝石。使用这个gem你可以配置你想要允许的HTML元素和属性,gem将删除其他任何内容。
我认为这对你的应用来说是一个不错的选择,因为你想要允许一些HTML但不允许使用Javascript / CSS,那么基于完整的HTML解析器的清洁剂很可能是最好的选择,因为有很多方法可以做到这一点。狡猾并将Javascript / CSS注入HTML。