【问题标题】:How does a Facebook session proxy improve security?Facebook 会话代理如何提高安全性?
【发布时间】:2010-02-03 00:37:59
【问题描述】:

我正在编写一个使用 Facebook Connect 的 iPhone 应用程序。测试时,您通常会将您的应用程序密码直接嵌入代码中,并使用此调用设置 Facebook:

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

但是,对于生产代码,建议使用会话代理,而不是将您的应用密码嵌入到您的代码中:

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

我知道泄露你的“秘密”可能是一件坏事——它允许任何人采取看似源自你的应用程序的操作——但我看不出使用代理如何解决这个问题。攻击者可以简单地将他的代码指向您的会话代理。代理不会对请求来自您的应用程序进行任何类型的验证。换句话说,您不是在赠送王国的钥匙,而是向任何提出要求的人赠送一天通行证!

那么增加的安全性在哪里?应用程序密钥是否提供了代理会话没有的额外特权?

【问题讨论】:

    标签: iphone security facebook


    【解决方案1】:

    回答我自己的问题,是的,有与应用程序机密相关的额外权限。此页面标识了需要应用密钥的 API 方法与可以使用会话密钥的 API 方法:

    http://wiki.developers.facebook.com/index.php/Session_Secret_and_API_Methods

    【讨论】:

    • 我仍然不确定这些会允许恶意用户做什么。
    【解决方案2】:

    从我看到的http://wiki.developers.facebook.com/index.php/Session_Proxy来看

    代理实现取决于您,因此您可以向其添加代码以验证客户端等

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-21
      • 2017-10-15
      • 1970-01-01
      • 2012-04-27
      • 1970-01-01
      • 2012-10-07
      • 1970-01-01
      • 2011-06-09
      相关资源
      最近更新 更多