使用JavaScript SDK,可以在用户同意的情况下发布帖子。由于它完全可以在客户端完成,所以如何防止某人代表我的应用程序在墙上发布内容,篡改“图片”,“链接”,“标题”和“说明”等字段?Feed发布的安全性
编辑的赏金:
吹牛是任何游戏,包括网络游戏的重要组成部分。在我的网页游戏中,我想让用户在Facebook上吹嘘,但是我不希望他们能够伪造一些帖子并通过我的应用程序发送,这会让他们吹嘘而没有真正获胜。如果我真的允许他们这样做,他们可能只会通过我的应用程序发布一些东西(我只能想象通过使用一些经过验证的服务器端API来确保某种方式)。
Facebook的Feed Dialog允许开发人员提示用户他们是否想在他们的墙上发布内容,并且我可以用它来发布用户的获奖故事。问题在于,该API完全是客户端,可以通过Javascript SDK或通过伪造URL来使用。我能够只填充字段的URL伪造我的应用程序的名称后,像这样给出的例子:
https://www.facebook.com/dialog/feed?
app_id=123050457758183&
link=https://developers.facebook.com/docs/reference/dialogs/&
picture=http://fbrell.com/f8.jpg&
name=Facebook%20Dialogs&
caption=Reference%20Documentation&
description=Using%20Dialogs%20to%20interact%20with%20users.&
redirect_uri=http://www.example.com/response
的问题是,我无法伪造现有应用程序这样的要求,像Robot Unicorn Attack : Evolution。因此,无论是1)我不知道如何伪造一个请求到这个应用程序,这仍然是可能的,并且没有安全性,或者2)有可能阻止客户端利用Facebook的API,我不知道如何在我的应用程序上执行此操作。
因此,对于赏金的缘故,我会考虑一个正确的答案,或者1)一些证据表明,总是有可能代表某个应用程序伪造一篇文章,因此我需要一种方式发布我想要的任何内容代表Robot Unicorn Attack : Evolution或2)阻止用户代表我的应用程序伪造供稿的方式,但我无法在没有服务器端信息的情况下执行此操作。
的“一些证据证明它总是能够打造一个岗位” - 哟你已经证明它是 – zerkms
“一种防止用户代表我的应用程序伪造提要帖子的方法” - 代表你的应用程序发布我们所需要的只是一个应用程序ID,它不能被定义隐藏。所以,只要你有一个应用程序 - 任何人都可以代表它发布 – zerkms
那么,为什么我收到“无效请求”,如果我试图代表机器人独角兽攻击:进化?为什么我可以在我自己的游戏上做到这一点,但不能在流行的游戏上做到这一点? – lvella