在 Rails 中清理助手
Sanitize helper in Rails
你能解释一下吗
2.1.3 :015 > ActionController::Base.helpers.sanitize '<b>test</b>'
=> "<b>test</b>"
结果与文档中所说的不一样http://apidock.com/rails/ActionView/Helpers/SanitizeHelper/sanitize
但这是正确的
2.1.3 :017 > ActionController::Base.helpers.sanitize('<b>test</b>', tags: [])
=> "test"
我的配置中没有 WhiteListSanitizer。也许 Rails 默认情况下有 WhiteListSanitizer?我怎样才能找到它?或者也许我有什么不明白?
实际上,它的工作方式与您预期的完全一样。 sanitize
助手旨在保留良性 html 标签并删除潜在有害的标签。
ActionController::Base.helpers.sanitize("<b>test</b>")
=> "<b>test</b>"
ActionController::Base.helpers.sanitize("<script>test</script>")
=> ""
您可以在config/application.rb
中调整清理方法的全局设置。
config.action_view.sanitized_allowed_tags = ['b']
然后你得到:
ActionController::Base.helpers.sanitize("<b>test</b>")
=> "test"
你能解释一下吗
2.1.3 :015 > ActionController::Base.helpers.sanitize '<b>test</b>'
=> "<b>test</b>"
结果与文档中所说的不一样http://apidock.com/rails/ActionView/Helpers/SanitizeHelper/sanitize
但这是正确的
2.1.3 :017 > ActionController::Base.helpers.sanitize('<b>test</b>', tags: [])
=> "test"
我的配置中没有 WhiteListSanitizer。也许 Rails 默认情况下有 WhiteListSanitizer?我怎样才能找到它?或者也许我有什么不明白?
实际上,它的工作方式与您预期的完全一样。 sanitize
助手旨在保留良性 html 标签并删除潜在有害的标签。
ActionController::Base.helpers.sanitize("<b>test</b>")
=> "<b>test</b>"
ActionController::Base.helpers.sanitize("<script>test</script>")
=> ""
您可以在config/application.rb
中调整清理方法的全局设置。
config.action_view.sanitized_allowed_tags = ['b']
然后你得到:
ActionController::Base.helpers.sanitize("<b>test</b>")
=> "test"