Bra*_*don 4 javascript xss backbone.js
我今天正在阅读有关跨站点脚本(XSS)攻击的一些内容.似乎Backbone已经model.escape('attr')内置并且我可以告诉它应该始终使用而不是model.get('attr')防止这些攻击.
我做了一些初步搜索,但没有找到任何类型的建议.model.escape('attr')从模型中检索值时,我是否应始终使用?
使用Underscore模板,我一般看到/做到这样:
var TemplateHtml = "<div><%- someModelAttribute %></div>"; // Really, you should load from file using something like RequireJS
var View = Backbone.View.extend({
_template: _.template(TemplateHtml),
render: function() {
this.$el.html(this._template(this.model.toJSON()));
}
});
Run Code Online (Sandbox Code Playgroud)
当你使用时<%- someModelAttribute %>,Underscore知道要转义给定的值(而不是<%= someModelAttribute %>直接注入属性而不转义).