1

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

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

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

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

我在 Ruby 1.8.7 上使用 Rails 2.3.4

4

2 回答 2

0

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

于 2010-02-08T22:13:33.067 回答
0

没有看到任何代码,我猜你正在使用sanitize. 与其进行清理,不如考虑传输和存储转义的 javascript,然后在您实际需要使用它时取消转义。

于 2010-02-10T05:27:49.100 回答