【问题标题】:Facebook Connect PHP SDK Curl Peer SSL Verification ErrorFacebook Connect PHP SDK Curl Peer SSL 验证错误
【发布时间】:2010-05-20 15:49:36
【问题描述】:

我正在将 Facebook Connect 集成到我们的应用程序中。我认为在http://github.com/facebook/php-sdk 使用 Facebook 官方 SDK 是最好的方法,因为它在 FB Developers wiki 上被宣传。

但我无法让它工作。在研究 API 代码时,我想起了我之前关于 CURLOPT_SSL_VERIFYPEER 参数的经验。该参数默认值为“true”,API中未设置,隐式设置为true。

我将 CURLOPT_SSL_VERIFYPEER 参数更改为 false,问题就解决了。使用它作为 true,我可以从 /get/me 查询的 Graph API 得到的是“boolean(false)”但是将其 CURLOPT_SSL_VERIFYPEER 参数设置为 false 相同的 curl 查询给了我用户 json 对象。

我想在这里问的是,使用 Facebook PHP SDK 的副作用是什么,因为“CURLOPT_SSL_VERIFYPEER”参数设置为 false。更一般地说,如果我在没有对等验证的情况下启动 curl 会话是否有意义。

【问题讨论】:

    标签: php curl facebook options


    【解决方案1】:

    您的 PHP 安装有问题。很可能,您没有验证 SSL 证书所需的 ENTRUST 中间证书。这是他们的证书链,

    Certificate chain
     0 s:/C=US/ST=California/L=Palo Alto/O=Facebook, Inc./CN=*.facebook.com
       i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance CA-3
     1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance CA-3
       i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
     2 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
       i:/C=US/O=Entrust.net/OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Secure Server Certification Authority
    

    将 CURLOPT_SSL_VERIFYPEER 设置为 false 只会禁用证书检查。您不应该在生产环境中这样做。

    【讨论】:

    • 为什么我不应该在生产中禁用它,就安全而言?还有一个,我如何检查哪个证书。在我缺少的链中,以及如何安装“链中”?
    • 如果您不验证对等方(服务器),则无法证明它是您请求的预期接收者。可能是任何人,可能是记录您的密码或 OAuth 令牌的黑客。有关详细信息,请参阅tehuber.com/article.php?story=20090125114837262
    【解决方案2】:

    试试这个,它解决了我的问题

    Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false; Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2;

    【讨论】:

    • 这根本不是解决方案,是安全性最差的做法
    • @david 考虑到安全性,什么是更好的方法?
    • tehuber.com/article.php?story=20090125114837262 可以帮助你。基本上,如果您不验证对等点,您很容易受到中间人攻击,其中有人可以冒充端点,冒充 Facebook 服务器。
    猜你喜欢
    • 2012-06-22
    • 2011-11-15
    • 1970-01-01
    • 2016-09-23
    • 2017-04-22
    • 2012-09-17
    • 2015-06-05
    • 2012-07-15
    • 1970-01-01
    相关资源
    最近更新 更多