ruby-on-rails 如何在ruby中安全地净化TinyMCE的输入?

6rqinv9w  于 2023-01-06  发布在  Ruby
关注(0)|答案(2)|浏览(190)

我刚刚把TinyMCE添加到我在Rails中构建的一个小型CMS中。我以前一直在使用Redcloth来设计用户生成的文章。
自从我开始使用TinyMCE以来,我还希望允许用户将视频(来自YouTube)嵌入到他们的博客文章中。
我在视图中使用以下助手:

sanitize(text,
        :tags => %w(a object p param h1 h2 h3 h4 h5 h6 br hr ul li img),
        :attributes => %w(href name src type value width height data) )

这样安全吗?或者我不应该允许这些标记?如果是这样,我可以允许哪些标记?我如何测试以确保安全?
还在筹备阶段。
谢啦,谢啦
德布

92vpleto

92vpleto1#

你可以使用valid_elements配置选项来使用你想要的所有标签,查看你可以扩展的默认设置。你也可以看看custom_elements选项。

ua4mk5z4

ua4mk5z42#

对于任何面临TinyMCE不允许YouTube在Rails中嵌入或剥离iFrame嵌入代码问题的人来说,这在2023年1月的Rails 7中对我很有效:

<%= sanitize @post.body, tags: %w( iframe ), attributes: %w(width height src source) %>

相关问题