2010-02-03 44 views
3

我在写一个使用Facebook Connect的iPhone应用程序。测试时,你通常直接嵌入您的应用程序秘密到代码,并设置了Facebook的这一呼吁:Facebook会话代理如何提高安全性?

session = [FBSession sessionForApplication:myApiKey secret:myAppSecret delegate:self]; 

然而,对于生产代码它建议使用会话代理而不是把你的应用程序秘密到您的代码:

session = [FBSession sessionForApplication:myApiKey getSessionProxy:myURL delegate:self]; 

我可以看到如何放弃你的“秘密”可能是一件坏事 - 它允许任何人采取似乎从你的应用程序发起的行动 - 但我不明白如何使用代理解决了那个问题。攻击者可以简单地将他的代码指向你的会话代理。代理不会做任何类型的验证,请求来自您的应用程序。换句话说,你并没有放弃王国的钥匙,但是你绝对会给予任何人一天的通行证!

那么增加的安全性在哪里?应用程序秘密为您提供的代理会话是否有额外的权限?

回答