为了使新的开放式图形协议起作用,我们通过向Facebook发送包含对象URL的请求来推送操作。
Facebook然后发送它的机器人,带有一个特殊的用户代理字符串,以获取有关该对象的信息。
推送到Facebook的信息可能是用户特定的(不仅仅是书籍或食谱),因此只有用户及其朋友才能访问。
我的问题是,除了检查用户代理(容易欺骗)和对我的对象使用难以猜测的网址之外,还有什么方法可以阻止人们访问基本上私有的信息(通过对象的唯一网址)?
一些可能是私人物品的例子......一个跑步,与减肥有关的东西,一个相册。
答案 0 :(得分:1)
经过大量的研究,我会很好地回答我自己的问题。
如果您的应用包含您希望对创建它的人保密的信息(例如每周节食更新),则必须确保您的对象Open Graph网址无法猜测。这意味着当你打电话给api,或者通过卷曲来做...
curl -F 'access_token=[access_token]' \
-F 'object=http://example.com/[object_url]' \ 'https://graph.facebook.com/me/[namespace]:[action]'
..你想确保[object_url]不可猜测。这样做的一个好方法是包含对象id和其他一些不可取的哈希/字符串。
上述步骤确保只有您和Facebook才能知道对象信息的位置,允许您将其移交,甚至偶尔更新。即使有人设法访问一个对象网址,他们仍然无法访问任何其他对象。
安全问题的第二部分是在图形方面,但是从单击以下链接的结果可以看出,您必须具有access_token才能查看应用程序图形对象,因此这也是安全且私密的:< / p>
http://graph.facebook.com/10150300390106292
我希望这在某些方面对某人有所帮助。它让我感到困惑。
答案 1 :(得分:0)
你必须在你身边实施“保护”。只有authed用户才能看到您共享的内容。
在您的网站设计中,您应该考虑在以下网站上显示您网站上的内容: 注销用户 Facebook用户,而不是您应用的用户 Facebook用户,您应用的用户,但不允许查看所有这些内容 Facebook用户,您应用的用户并允许查看内容
这样您就可以正确地处理每个场景。您可以使用“受保护”视图来鼓励新用户,以鼓励您在应用中进行更多共享。
当用户“添加应用”时,他们将能够为此应用选择共享规则。您需要确保实施适合您的内容的权限模型以及如何与用户共享。