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