【发布时间】:2009-09-29 20:08:29
【问题描述】:
我想知道,目前还无法在网上找到任何答案,如何完成以下操作。
假设我有一个包含以下内容的字符串:
my_string = "你好,我是字符串。" (在预览窗口中,我看到这实际上是粗体和斜体格式,而不是显示“strong”和“i”标签)
现在,我想使用 html_escape()(或 h())方法/函数来确保它的安全。 所以我想阻止用户插入任何 javascript 和/或样式表,但是,我仍然希望单词“Hello”以粗体显示,而单词“string”以斜体显示。
据我所知,h() 方法除了文本本身之外不接受任何其他参数。
有没有办法只转义某些 html 标签,而不是全部?喜欢白色或黑色列表标签?
这可能是什么样子的示例,我想说的是:
h(my_string, :except => [:strong, :i]) # => 所以基本上,转义所有内容,但单独留下“strong”和“i”标签,不要转义这些。
有什么方法或方法可以做到这一点吗?
提前致谢!
【问题讨论】:
标签: html ruby-on-rails security escaping