Zrozumienie „Niedozwolone. Niezaufany kod może aktualizować dokumenty tylko ID. Błąd meteorów

WMeteor 0.5.8 wprowadzono następującą zmianę:

Wywołania aktualizacji i usuwania funkcji zbierania w niezaufanym kodzie mogą nie używać już dowolnych selektorów. Podczas wywoływania tych funkcji z klienta należy podać jeden identyfikator dokumentu (inny niż w kodzie metody).

Więc jeśli chcesz przesłać dowolne aktualizacje do bazy danych z konsoli klienta, musisz zrobić coś takiego:

People.update({_id:People.findOne({name:'Bob'})['_id']}, {$set:{lastName:'Johns'}});

Zamiast:

People.update({name:'Bob'}, {$set:{lastName:'Johns'}});

Myślałem, że problem bezpieczeństwa jest kontrolowany przez ustawienie funkcji Meteor.Collection.allow i .deny w połączeniu z pakietami autopublish i niezabezpieczonymi. Podobało mi się, że mogę korzystać z bazy danych z konsoli JavaScript JavaScript.

Jaka jest motywacja do zmian w Meteor 0.5.8?

questionAnswers(1)

yourAnswerToTheQuestion