【发布时间】:2015-06-30 22:59:22
【问题描述】:
如果我有当前状态
.state("display",
{url:"/display",templateUrl:"display.ng.html",
controller:"DisplayController",
controllerAs:"displayController"})
我在状态中添加了一个解析,这样只有登录的人才能访问该路由,例如:
resolve: {
"currentUser": ["$meteor", function($meteor){
return $meteor.requireUser();
}]
}
*取自http://angular-meteor.com/tutorial/step_08
这不会造成安全漏洞吗?
任何人都不能在他们的浏览器中打开控制台并“重写”路由以使其不需要用户吗?
【问题讨论】:
-
您仅在客户端执行的任何限制都是安全漏洞。只要您的服务器正确限制用户做他们不应该做的事情,您就是安全的。
-
使用 $cookies 如果人们明确登录我们会在 cookie 中存储一些用户数据
-
我们只是不渲染/包含我们软件的秘密部分。这是唯一的方法。永远不要相信用户。您发送给他们的任何内容,他们都可以访问。他们可以发送给您的任何东西都必须经过验证。交通规则。
-
你会很快意识到担心这种“安全漏洞”是一个没有实际意义的问题,因为技术娴熟的人可以深入研究和更改你的 javascript一起跳过你的 javascript,直接去服务器获取他们想要的东西。
-
@KevinB 你是对的,虽然我可以通过服务器上的用户验证来保护自己,但我还希望阻止人们通过 Angular 片段看到页面。如果他们能看到该页面,那么他们就更了解请求的参数,并且无需进行一些猜测。
标签: javascript angularjs security meteor