Dim*_*nik 0 ruby ruby-on-rails sanitize
你能解释一下吗
2.1.3 :015 > ActionController::Base.helpers.sanitize '<b>test</b>'
=> "<b>test</b>"
Run Code Online (Sandbox Code Playgroud)
结果与文档http://apidock.com/rails/ActionView/Helpers/SanitizeHelper/sanitize中所说的不一样
但这是正确的
2.1.3 :017 > ActionController::Base.helpers.sanitize('<b>test</b>', tags: [])
=> "test"
Run Code Online (Sandbox Code Playgroud)
我的配置中没有WhiteListSanitizer。也许Rails默认情况下在任何地方都有WhiteListSanitizer?我如何找到它?也许我有些不明白?
实际上,它的工作与您期望的完全相同。该sanitize帮助程序旨在保留良性html标签并删除可能有害的标签。
ActionController::Base.helpers.sanitize("<b>test</b>")
=> "<b>test</b>"
ActionController::Base.helpers.sanitize("<script>test</script>")
=> ""
Run Code Online (Sandbox Code Playgroud)
您可以在中调整sanitize方法的全局设置config/application.rb。
config.action_view.sanitized_allowed_tags = ['b']
Run Code Online (Sandbox Code Playgroud)
然后您得到:
ActionController::Base.helpers.sanitize("<b>test</b>")
=> "test"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
936 次 |
| 最近记录: |