簡體   English   中英

Parse.com-使用javascript SDK安全發送數據

[英]Parse.com - secure sending data with javascript SDK

我現在正在使用Angular JS和Parse.com雲作為數據庫來構建簡單的游戲。

我的目標是在和中,將用戶得分存儲在Parse雲中。

但是,當任何人都可以訪問我的Parse密鑰時,因為它們在我的js文件中可見,並且僅使用一些偽造的數據重新創建Parse Object,然后將其存儲在我的數據庫中,我該如何安全地執行此操作?

在特定情況下,ACL並不是重點-現在,我只是在保存之前打開acl,以防止用戶在保存之前更改分數。

在我的游戲中,我沒有任何Parse用戶-我想讓所有人在不登錄的情況下玩我的游戲。

您如何看待像本文中的第一個答案一樣使“ ”用戶成為主意的想法(因為JS parse SDK無法創建匿名匿名用戶),然后跟蹤會話和用戶?

對我來說,這甚至有幫助嗎?

也許我應該在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;
  };

});

如果您讓用戶寫入db,那么總會出現用戶可以更改數據的情況..我認為您所能做的就是從用戶那里提取數據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM