“_path”路由助手返回未标记为html_safe的字符串。
我不确定 - 也许它确实不是html安全的,但是当我将类似"foo>bar"
的内容传递给_path帮助程序时,它会生成如下字符串:
/aa/foo%3Ebar/bb
看起来很安全。
然而,html_safe?该字符串是false
,如果我将其传递给模板,我应该得到:
/aa/foo%3Ebar/bb
看起来不那么好。
我可以在帮助器输出上调用.html_safe
,但是在某些情况下_path帮助器会发出不安全的字符?
无论如何,我不喜欢在每个帮助器输出上调用html_safe
的想法,并希望框架能够处理这些内容。
有什么想法吗?
答案 0 :(得分:0)
这是有用的,因为客户端可以将变量传递给url,如果路径被标记为html_safe为deafult,他可以简单地将一些javascript / html / ...写入url并且它将被执行。这被称为Cross Site Scripting,也是最“流行”的安全漏洞之一。因为它“仅”是客户端攻击,但它可能会对您的用户造成危险,所以最好不要默认更改它!