路径帮助器返回未标记为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,它就会被执行。这就是所谓的跨站脚本,也是最"流行"的安全漏洞之一。当然,它"只是"一个客户端攻击,但它可能会给你的用户带来危险,所以最好不要更改默认值!