ruby-on-rails – Rails清理()方法有多好?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails清理()方法有多好?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以在我计划向其他用户显示用户输入的文本上使用 ActionView::Helpers::SanitizeHelper#sanitize吗?例如,是否正确处理 all cases described on this site

另外,文档提到:

Please note that sanitizing
user-provided text does not guarantee
that the resulting markup is valid
(conforming to a document type) or
even well-formed. The output may still
contain e.g. unescaped ’<’,’>’,’&’
characters and confuse browsers.

最好的办法是什么?在显示之前通过Hpricot传递消毒的文字

解决方法

Ryan Grove的 Sanitize比Rails 3消毒得更远.它确保输出HTML格式良好,并有三个内置的白名单:

消毒::配置::受限
只允许非常简单的内联格式化标记.没有链接,图像或块元素.

消毒::配置:: BASIC
允许各种标记,包括格式化标签,链接和列表.不允许使用图像和表格,链接仅限于FTP,HTTP,HTTPS和mailto协议,并将一个属性添加到所有链接以减轻SEO垃圾邮件.

Sanitize :: Config :: RELAXED允许比BASIC更广泛的标记,包括图像和表格.链接仍然限于FTP,而图像仅限于HTTP和HTTPS.在这种模式下,没有添加链接.

猜你在找的Ruby相关文章