为什么"_path"路由帮助程序返回未标记为html_safe的字符串?



路径帮助器返回未标记为html_safe的字符串。

我不知道肯定-也许它确实不是html安全,但当我传递像"foo>bar"到路径助手它生成字符串像:

/aa/foo%3Ebar/bb

看起来很安全。

然而,

html_safe吗?对于该字符串是false,如果我把它传递给模板,预期我得到:

/aa/foo%3Ebar/bb

看起来不太好。

我可以调用.html_safe上的助手输出,但也许有一些情况下,当_path助手发出不安全的字符?

无论如何,我不喜欢在每个helper输出上调用html_safe的想法,并希望框架能够照顾这些东西。

思想吗?

这是非常有用的,因为客户端可能会传递变量到url,如果路径将被标记为html_safe for deafult,他可以简单地写一些javascript/html/…到url,它就会被执行。这就是所谓的跨站脚本,也是最"流行"的安全漏洞之一。当然,它"只是"一个客户端攻击,但它可能会给你的用户带来危险,所以最好不要更改默认值!

最新更新