Google+登录 - 使用一次性代码的安全性

时间:2014-01-02 23:00:28

标签: android authentication google-plus

我即将创建一个应用程序,只是想确保这个流程是好的,只是存在安全问题。

  • 客户端= Android
  • Server = PHP

我将使用一次性代码流来验证客户端和服务器。

第一个问题,是否有任何问题通过HTTP发送此一次性代码而不使用HTTPS ???

完成此操作后,我将使用Google+提供的用户ID来识别用户。来自Google的此用户ID将存储在我的数据库中,以便我能够跟踪用户。

作为Android,任何人都可以反编译代码,他们将能够看到我如何将请求发送到我的服务器。我将向特定的PHP页面发送一个post请求,作为回报,PHP页面将返回一个JSON。在PHP页面中,我需要运行下面的代码以确保在将JSON传递回我的Android应用程序之前设置会话?

if ($request->get('state') != ($app['session']->get('state'))) {
    return new Response('Invalid state parameter', 401);
}

这会有任何安全隐患吗? 如果有一个主题可以回答这个问题,请指出我,因为我找不到任何东西。

2 个答案:

答案 0 :(得分:1)

第一个答案 - 是的,有很多很多的风险通过HTTP而不是HTTPS发送。尽管代码的生命周期非常有限,但仍然意味着如果有人想拦截并使用代码,他们可以在服务器获取代码之前轻松执行此操作。您可能能够为自己正在做的事情获得自签名证书,但实际上您不应该在生产中使用HTTP。

会话管理有几个可能的影响,因为我不确定是否与Google+登录直接相关。虽然此检查确实有助于确保连接来自合法会话,而不是可能作为漏洞利用的一部分运行的会话。目前尚不清楚您是如何进行会话管理的,或者如果遇到此错误可能会发生的其他活动,但这也可能是限制DoS攻击时使用的资源的好方法。

答案 1 :(得分:0)

不要通过HTTP将一次性代码移动到服务器。