骨干js中的角色控制

时间:2014-11-26 09:20:47

标签: javascript backbone.js

我在服务器端使用Spring MVC在客户端使用骨干js。 我需要的是基本上只要有一个过滤器,只要从骨干网进行服务器调用就可以过滤掉从安全角度出发的字符 - 在post或get请求中。

我可以编写一个在发布/调用服务器端之前调用的函数,但是如果有通用的方法,我希望看到它。我可以编写一段代码,在每次服务器调用之前过滤/替换这些字符。

1 个答案:

答案 0 :(得分:0)

尽管它应该由后端处理,并且前端应该只为好心的用户(而不是那些明显试图做错事的人)愉快地失败,这是你的解决方案:

因为每个Backbone请求都是使用Backbone.ajax通过Backbone.sync进行的,所以只需覆盖Backbone.ajax:

var ajax = Backbone.ajax;

Backbone.ajax = function (options) {

    // check if options.data is an object or an string;
    var data = options.emulateJSON ? JSON.stringify(options.data) : options.data; 

    // do your sanitization here at data
    // ...

    // dont forget to sanitize your url options.url
    // ...

    options.data = options.emulateJSON ? JSON.parse(data) : data;

    // call the original method
    return ajax(options);

};

希望我帮助过。