2017-01-16 15 views
0

私はパースのセキュリティについての質問があり、誰かが私にいくつかの指針や示唆を与えることを願っています。Parse PFUser.current()オブジェクトはどれくらい安全ですか?

私は、goldというゲームリソースをユーザーが蓄積できるゲームに取り組んでいます。

各ユーザーのゴールドの量を把握するために、リソースと呼ばれるParseクラスがあります。このクラスはパブリック読み込み可能(取得可能、検索不可)ですが、パブリック書き込み不可能です。 Userクラスの各オブジェクトにはresourceIdというプロパティがあり、これはユーザーに属するResourceオブジェクトのobjectIdです。したがって、プレイヤーは自分のリソースだけでなく、彼の友人のリソースも読むことができます。そして、リソースクラスの 各オブジェクトは、ゲームでは、Userクラス

でユーザーを指すポインタを持って、ユーザーが金賞を得るために賞金ホイールを回すことができます。ユーザーがホイールを回転させると、クライアントはクラウドコード関数を呼び出し、単一の引数(PFUser.current()オブジェクト)を渡します。

クラウドコードは乱数を生成して賞を決定し、その賞をResourceクラスに書き込みます。どのリソースオブジェクトに書き込むかを決定するには、 (1)resourceIdを引数(PFUser.current())から読み込み、を使用して (2)を読み込み、関連するリソースオブジェクトを取得してからユーザーポインタは引数自体と同じUserオブジェクトを指します(もう一度はPFUser.current())。

私の質問は、他のユーザーの賞品ホイールを回転しようとしている人に対して私の設定が安全かどうかです。感染したクライアントデバイスがPFUser.current()オブジェクトを変更し、別のユーザーのふりをすることはできますか?私がしたいことを達成するためのより良い方法がありますか?

答えて

0

これを使用して:

Parse.Cloud.define("myFunction", function (request, response) { 

var senderUser = request.user; 

//your code 

}); 

それは間違いなく、引数としてPFUser.current()を渡すよりも良い方法です - それはそれは引数よりもそれが偽物に難しくなければならないことを意味しており、内部解析SDKで動作します。

関連する問題