Может ли хакер изменить мои данные, которые помещаются в автономный pouchdb, а затем синхронизируются с онлайн-couchdb?Да, на сервере будет включен ssl.
В моей текущей настройке.vue.js spa для развертывания pwa.
const response = await this.postService(
{
_id: newId,
dateCreated: date,
updated: [],
viewed: [],
viewedCount: 0,
approved: true
},
sync
);
Я отправляю этот obj в функцию, чтобы поместить obj в локальную базу данных pouch, а затем синхронизируюсь с online couchdb.Теперь, если кто-то может отредактировать утвержденные данные obj: true, у меня будет много проблем при попытке запретить пользователя.
postService(dataObject, sync) {
// to do make sure couchdb had validation function
var self = this;
// to do this.$store.dispatch("PostServiceSynced", false);
return postsOffDb
.put(dataObject)
.then(function(response) {
// to do enable sync
// if (sync) {
// sync offline to online db
postsOffDb.replicate
.to(postsOnDb, {
live: true,
retry: true,
back_off_function: function(delay) {
if (delay === 0) {
return 1000;
}
return delay * 3;
}
})
.on("change", function(change) {
// yo, something changed!
console.log("posts replicate change", change);
})
.on("complete", function() {
// yay, we're done!
console.log("postsOffDb replicated");
})
.on("error", function(err) {
// boo, something went wrong!
console.log("err", err);
return response;
});
// }
return response;
})
.catch(function(err) {
console.log("postService err", err);
}
return err;
});
},
Мой обходной путь - отправить объект в промежуточное программное обеспечение express.js и добавить данные по умолчанию, например, утверждено: true там.Затем отправьте его на couchdb.Но тогда я упустил бы причину использовать службы синхронизации couchdb, которые я мог бы также использовать с mongodb?Кто-нибудь знает, как?