0
我从AngularJS开始,我想展示这个访问路由参数属性的代码。安全吗?最佳做法是这样做吗?这是使用AngularJS访问json属性的安全且有效的方法吗?
angular.module('messagecat', []).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/messages', {templateUrl: '/bundles/acmestore/js/partials/messages-list.html', controller: MessagesListCtrl}).
when('/messages/:messageId', {templateUrl: '/bundles/acmestore/js/partials/message-detail.html', controller: MessageDetailCtrl}).
otherwise({redirectTo: '/messages'});
}]);
/*controller*/
function MessagesListCtrl($scope, $http) {
$http.get('/messages').success(function(data) {
$scope.messages = data;
});
}
/* Does this following bit seem reasonable to you?*/
function MessageDetailCtrl($scope, $routeParams, $http) {
$http.get('/messages').success(function(data) {
$scope.messages = data[$routeParams.messageId];
//console.log($scope.messages);
});
}
the json model:
[
{
"id": 1,
"iam": 1,
"youare": 2,
"lat": 50.8275853,
"lng": 4.3809764,
"msgbody": "Lorem ipsum lorem ipsum lorem ipsum"
}
]
你对此有什么担忧?对我来说看起来很好。不过,我很惊讶,服务器不允许你通过ID发送消息,当你只需要一个消息时,你不得不将它们全部取消。 – 2013-02-22 00:26:09
我的担心是我在代码中传递路径内容,但没有真正消毒......如果有人将恶意内容作为url输入......您的意思是我应该为单个消息提供单独的后端API? (我自己做后端,因为我是前端开发人员......) – 2013-02-22 07:12:02