gpt4 book ai didi

javascript - Parse.com - 使用 javascript SDK 安全发送数据

转载 作者:行者123 更新时间:2023-11-28 06:34:04 28 4
gpt4 key购买 nike

我现在正在使用 Angular JS 和 Parse.com 云作为数据库构建简单的游戏。

我的目标是在游戏中,将用户得分存储在 Parse 云中。

但是,当任何人都可以访问我的 Parse 键时,我该如何安全地执行此操作,因为它们在我的 js 文件中可见,并且只需使用一些虚假数据重新创建 Parse 对象,然后将其存储在我的数据库中?

ACL 在这种特殊情况下不是重点 - 现在我只是在保存之前关闭写入 ACL,以防止用户在保存之前更改分数。

在我的游戏中,我没有任何解析用户 - 我希望所有人都可以在不登录的情况下玩我的游戏。

您对制作“fake”的想法有何看法? ' 用户就像本文第一个答案中那样(因为无法在 JS parse SDK 中创建 Anonymous 匿名),然后跟踪 session 和用户?

这对我的情况有帮助吗?

也许我应该在 Cloude 代码中进行一些检查 - 例如比较 Cookie 或本地存储数据,然后再保存到 Parse 中(这会使游戏中作弊变得更加困难,但仍然可能)?

下面我将介绍我的整个服务,向您展示全部内容:

angular.module('Parsedb', [])
.provider('Parsedbmanager', function() {
this.$get = function($q, $http) {

// new Parse constructor
var ParseHighScore = Parse.Object.extend('ParseHighScore');

// create new obj
var parseHighScore = new ParseHighScore();

this.parseInit = function() {
Parse.initialize('myKey', 'myKey');
};

this.setParsedb = function(newScore) {
// set val
parseHighScore.set('HighScore', newScore);
// save score to cloud
parseHighScore.save(null, {
success: function (parseHighScore) {

// protect from change saved obj
var acl = new Parse.ACL();
acl.setPublicReadAccess(true);
acl.setPublicWriteAccess(false);
parseHighScore.setACL(acl);

return parseHighScore.save();
},
error: function (parseHighScore, error) {
console.log('Failed to create new object, with error code: ' + error.message);
}
});
};

this.getParsedb = function() {
// need q to get this asynch
var deferred = $q.defer();
var query = new Parse.Query(ParseHighScore);
query.limit(5);
query.descending("HighScore");
query.find({
success: function(results) {
console.log("Successfully retrieved " + results.length + " scores.");
// resolve, if you have results
deferred.resolve(results);
},
error: function(error) {
deferred.reject(error.message);
}
});

return deferred.promise;
};

return this;
};

});

最佳答案

如果你让用户写入数据库,那么总会出现用户可以更改数据的情况..我认为你所能做的就是从用户那里抽象它

关于javascript - Parse.com - 使用 javascript SDK 安全发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34440915/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com