GET()方法是否安全可以从服务器端获取安全数据?

时间:2016-01-14 12:31:27

标签: javascript angularjs node.js security

我使用GET()方法获取aws-sdk,mongojs的密钥和身份验证密钥。 AngularJs向我的GET() nodejs发出server请求,该请求将我的密钥作为json返回给客户端angurajs控制器。

service.js

myApp.factory('Api',['$resource', function($resource){
    return {
MediaCreds: 
            $resource('/key/secret/creds/:id', {
                id: '@id'
            })
}]);

的NodeJS

router.get('/key/secret/creds', function(req, res){    
     var Creds = require('../../config/key.js')              
     //console.log(Creds);
     res.json(Creds);
});

index.js

myApp.controller('userVarCtrlr', ['$scope', 'userVar', 'Api', function($scope, userVar, Api){
  $scope.Creds = {};
  Api.MediaCreds.get({},function(data){
         $scope.Creds = data;
         userVar.Creds = data;
         console.log($scope.Creds );
    }); 
   //...
   //Using Creds for atuhenticating to use aws or mongojs..
}]);

GET()方法是加密的,但客户端上的某个人是否可以使密钥可见?

这种方法安全还是有更好的方法?

1 个答案:

答案 0 :(得分:4)

GET,POST,...不会产生很大的不同 - 所有这些调用都是公开的,它只是一种格式化数据,标题等的方法...... 如果您想保护您的get / post电话,您需要使用https来加密数据。但这只会保护信息,而不是呼叫本身。如果要保护查询,请使用oAuth之类的协议。 oAuth 1.0a没有https,oAuth 2.0有https。现在在客户端,由于javascript的性质,客户端本身可以看到信息。