我正在使用Rails 3和Ruby 1.9.2。我在做任何事情时,我显示我的帖子的内容特别,我只是在做Rails - javascript注入
<%[email protected]%>
当我添加
"<script language='javascript'>alert('test');</script>"
到,当然我的帖子的形式,它执行JavaScript警告!
我试图在保存之前和显示之前添加html_safe
,但它没有解决任何问题。
如果我必须添加任何安全码,我必须在保存帖子之前或在显示之前添加它吗?我听说Rails 3本身就是这样做的,所以我没有太在意安全性,但我想仍然有一些主要的事情要小心。
这取决于。请告诉我们你的代码。 – SLaks 2012-02-05 19:53:08
我会在几分钟内添加它...... – 2012-02-05 20:15:21
请注意,在这种情况下,您不应该使用'html_safe'。 JavaScript执行** BECAUSE **您正在使用'html_safe'。 'html_safe'的意思是“这个HTML是安全的,所以你不必逃避它。”如果您摆脱了'html_safe'调用,则默认情况下,Rails将负责转义潜在的恶意内容。 – Mischa 2012-02-06 08:31:55