现在在做一个后台系统,用到PHP和angularjs。
用的权限验证是:
1:用户登录后台,登录成功以后取出该用户的权限。
2:把用户的权限列表存在$scope.userInfo.powerList里。
页面上操作和访问的验证,用保存的$scope.userInfo.powerList上传给服务器,然后再做判断。
那么$scope.userInfo.powerList可以被恶意修改吗?
$scope在控制台访问不大,应该问题不大。。不过你接口肯定需要再次验证用户提交的数据有效性,不能只靠客户端的验证。
如找到你的接口地址,直接控制台post数据过去就行,就不需要修改$scope
$scope.getData = function() {
var promise = DataLoad.getData({
powerList: $scope.userInfo.powerList,
});
控制器的代码
存在全局对象中,rootscope中。不可以恶意被修改,又拿不到你的scope 对象
如果我是黑客。我不会去修改scope,直接修改你传给服务器的表单数据就行了。
很不安全,$scope虽然不能直接在控制台访问,但是我打个断点,让$scope赋值给全局变量,不就可以了。或者我在提交的前一刻打个断点,把里面的值改了。能防的住吗?权限的事情原本就不应该在前台做,要在后台进行校验。