Rails 中的 XSS JSON
我正在 Rails 中使用 Backbone 渲染内容。我从模型中获取的一些 json 属性将是 html 属性,其中一些可能在 javascript 中使用,而其他属性将插入到 html 元素之间。所有这些都需要不同的转义机制,人们如何处理这个问题?
I'm rendering content using Backbone in Rails. Some of the json properties i'm getting from the models will be html attributes, some of them might be used inside the javascript and others will be inserted between html elements. All of these require different escaping mechanisms, how do people deal with this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在我们的项目中,我们使用 doT 模板(与大多数其他模板一样)允许使用编码进行插值(
{{! ... }}
)。您还可以尝试对所有数据进行编码,并在保存数据时剥离任何可能的 JavaScript 服务器端,以 100% 确定您不会收到任何恶意内容此外,如果您使用 jquery 方法,请记住使用
text
方法插入数据而不是html
因为文本会自动对其进行编码。我真的推荐 doT!它非常快,我们已经成功地让它与 requirejs 一起很好地运行
In our project we are using doT templates which (as most other) allow for interpolation with encoding (
{{! ... }}
). You could also try to encode all data and strip any possible javascripts server side when data is saved to be 100% sure you won't get anything maliciousAdditionally if you are using jquery methods remember to use
text
method to insert data rather thenhtml
as text will automatically encode it.And I really recommend the doT! It's super fast and we've managed to make it play really nicely with requirejs