Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS SDK apprequest安全性_Javascript_Facebook_Security_Sdk_Apprequests - Fatal编程技术网

Javascript JS SDK apprequest安全性

Javascript JS SDK apprequest安全性,javascript,facebook,security,sdk,apprequests,Javascript,Facebook,Security,Sdk,Apprequests,要邀请朋友加入我的应用程序,据我所知,唯一的方法是使用JSSDK,带有FB.ui和apprequests对话框。那很好 让我们想想这个场景——我的FB游戏允许用户邀请他们的朋友,并授予他们(朋友)一些物品。基于级别、名称、随机性等等。 调用对话框时,可以使用数据参数。它看起来像是一个我可以储存信息的地方,关于什么样的物品将被给予。 但是..是什么阻止用户篡改这些数据?当然,我可以尝试一些加密等,但它的变量仍然对用户完全可见。 我错过什么了吗?如何以安全的方式解决给定的场景?您可以将代码设置为要发

要邀请朋友加入我的应用程序,据我所知,唯一的方法是使用JSSDK,带有FB.ui和apprequests对话框。那很好

让我们想想这个场景——我的FB游戏允许用户邀请他们的朋友,并授予他们(朋友)一些物品。基于级别、名称、随机性等等。 调用对话框时,可以使用数据参数。它看起来像是一个我可以储存信息的地方,关于什么样的物品将被给予。 但是..是什么阻止用户篡改这些数据?当然,我可以尝试一些加密等,但它的变量仍然对用户完全可见。
我错过什么了吗?如何以安全的方式解决给定的场景?

您可以将代码设置为要发送的参数,并针对特定用户保存在服务器/数据库中。然后,在赎回请求时,检查用户是否已将该代码分配给他们。如果没有,您就知道它被篡改了。

@Abby是正确的-将您的请求数据存储在您的数据库中-JS SDK的apprequest功能有一个回调,其中包含有关邀请的信息-存储此信息,并在用户接受邀请时交叉引用数据。用户可以在Javascript级别篡改数据,但(我希望)他不能篡改数据库中的数据

同样,请求id必须通过JavaScript或其他方式传递。另一个被篡改的地方。也许像FB那样签名(使用hmac-sha256)可以解决这个问题……是的……但是如果你把它存储在你的服务器上,你可以比较一下,它没有被篡改。