对于Ruby应用程序,还有更好的Sanitize替代方案吗?

时间:2013-12-03 01:19:38

标签: ruby-on-rails ruby sanitize

我爱Sanitize。这是一个惊人的实用程序。我唯一的问题是它需要永远准备一个开发环境,因为它使用Nokogiri,这对编译时来说很痛苦。是否有任何程序可以使用Nokogiri执行Sanitize所做的事情(如果没有其他事情,而不是它的作用)?这将有指数地帮助!

1 个答案:

答案 0 :(得分:2)

Rails有自己的SanitizeHelper

根据http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html,它将

  

这个清理帮助程序将对所有标记进行html编码并删除所有未明确允许的属性。

     

它还会使用无效协议剥离href / src标记,例如javascript:尤其如此。它尽力抵制黑客可能使用的任何技巧,比如投入unicode / ascii / hex值来通过javascript:过滤器。查看广泛的测试套件。

您可以在类似的视图中使用它

<%= sanitize @article.body %>

您可以访问该链接以查看更多自定义选项,例如:

自定义使用(仅允许提及的标签和属性,没有其他内容)

<%= sanitize @article.body, tags: %w(table tr td), attributes: %w(id class style) %>