如何允许rails在数据中使用javascript:

时间:2010-02-08 22:09:48

标签: javascript ruby-on-rails sanitize

我有一个ad html数据库,其中一些包含Javascript函数。有没有办法让rails允许特定模型上特定属性的javascript:标签?

为了进一步澄清,我可以在编辑表单中添加html,但是当我尝试提交时,我的浏览器(Firefox)说连接已重置。 IE也给了我一个错误。允许提交html的唯一方法是从标记中删除javascript:

我的猜测是这是Rails不允许javascript注入的安全措施,但是,我无法控制这些广告的HTML,而且很多都有javascript。

如果我的猜测确实正确,有没有办法覆盖这个模型的这个属性的安全性?还是我离开目标了?

我在Ruby 1.8.7上使用Rails 2.3.4

2 个答案:

答案 0 :(得分:0)

现在我从未使用过rails,但这个想法应该是一样的,你只想将javascript存储为字符串,然后当你显示它时,不要转义数据。更好的方法是链接到您的javascript,然后只存储对数据库中函数的调用。

答案 1 :(得分:0)

没有看到任何代码,我猜你正在使用sanitize。不要进行消毒,而是考虑传输和存储你的javascript转义,然后在你真正需要使用它时将其转移。