我在路由器中有一些功能,我在不同的模型视图之间做关系。但我知道我可以从我的控制台调用这些功能并破坏我自己。如何阻止这些黑客攻击?
示例:
class Alfa.Routers.DropsRouter extends Backbone.Router
alfa: (bla) ->
console.log(bla*5)
控制台:
router.alfa(5)
我得到答案
25
在我的真实应用程序中,我向玩家发送怪物属性(健康,力量等),并且玩家与该怪物属性进行战斗。
send_monster_to_player: (attributes) ->
@view = new Alfa.Views.Players.IndexView(players: @players)
@view.send_monster_to_current_player(attributes)
该怎么做才能安全? :)
答案 0 :(得分:0)
我假设您将路由器视为全局路由器,例如
window.router = new Alfa.Routers.DropsRouter
不要这样做。
相反,我建议使用像RequireJS或Browserify这样的AMD加载程序。
这将帮助您限制对全局变量的使用,如果完成,您可以完全暴露掉零全局变量,这意味着您的代码都不能在控制台中执行。