允许脚本标记内容



我已经构建了一个白名单,我想允许的所有标签,当清理一个文档,其中包括脚本标签和使用ActionView::Helpers::SanitizeHelper来帮助清理。我的问题是,脚本标签是允许在HTML源中显示,但脚本的内容被删除。

我可以在不进行消毒的情况下显示

,但我更愿意保持所有内容的一致。

这是我的清理部分的行代码

#{sanitize @page.body, tags: t("sanitize.whitelist").split(/s/), attributes: %w(id class style alt src href target)}

在我决定删除这部分的消毒之前,任何帮助都将是感激的。

我通常在config/application.rb中这样做

config.action_view.sanitized_allowed_tags = 'a', 'br'

然后如果你需要允许一组单独的标签用于不同的目的:

config.action_view.sanitized_allowed_other_tags = ['a', 'br', 'script']

那么你可以这样做:

#{sanitize @page.body, tags: Rails.configuration.sanitized_allowed_other_tags, attributes: %w(id class style alt src href target)}

这可能不是最好的解决方案,但至少它允许您只在一个地方更改允许的标记。

相关内容

  • 没有找到相关文章

最新更新