PHP OpenID不适用于谷歌/雅虎和'黑客'修复它......它们安全吗?

Ric*_*uen 4 php security openid janrain google-account

我一直在尝试使用OpenID,并设置了一个示例网页,以便使用我的OpenID帐户进行访问.我正在使用JanrainPhp OpenID库,但它没有使用我的Google帐户.一个小小的研究让我想到了这个问题,这表明问题在于Google使用https和......

...可能在您的PHP服务器上设置了发出HTTPS请求的设置.检查以确保安装了ca-certificates软件包.

在同一个帖子中,有人链接到我已部署并已成功使用我的Google帐户的图书馆黑客版本.其他问题还有其他的自定义来解决类似的问题(Janrain的PHP,OpenID和谷歌/雅虎,PHP,OpenID的不与雅虎合作,在PHP的OpenID AX的用法示例 ...)

我对安全性不太热,所以我问; 有没有人知道不使用这些黑客版本的原因?

原始库是否具有这些黑客在设计中修复的任何缺点,因此黑客是一个潜在的安全漏洞?

那里有一个合格的加密人员,他们已经看过这些解决方案并且"走了大卫·查姆的胡子!不! "

如果是这样 - 因此我不应该使用任何这些黑客 - 我如何检查我"安装了ca-certificates软件包"?

ket*_*urn 6

以下是其中一个"黑客"版本的作者所写的内容:

特别是CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST默认为true:我将它们设置为false,它适用于测试页面!

其效果几乎抵消了使用HTTPS提供的任何安全优势.HTTPS在OpenID中有用的主要原因是它可以防止中间人攻击,即一些坏人中毒你的DNS缓存以发送所有google.com请求bad-guys.example.使用正确配置的HTTPS,您可以验证连接上的证书,发现它不是来自Google,并说"我不会相信你说的任何话,bad-guys!"

当然,除非您没有验证任何证书(您将所有SSL_VERIFY选项设置为false),在这种情况下,您的服务器会认为所有内容都bad-guys表明它就像真正的Google提供商一样.你可以想象这可能是坏事.

现在,坦率地说,这不是你可以做出的最糟糕的选择,因为它并不比仅使用HTTP更糟糕,很多人都会这样做.如果你暗示你提供的是HTTPS级别的安全性,那么你只是骗你的用户.

并且有很多信息表明它是否容易进行基于DNS的攻击,或者伪造SSL证书是多么容易.无论哪种方式,它确实需要有人攻击您的服务器和谷歌之间的连接,这通常比攻击咖啡店用户的笔记本电脑和您的服务器之间的连接更难.

但实际上,修复PHP或CURL SSL配置要好得多.或者,如果您不这样做,请在用户使用HTTPS标识符进行注册时向用户发出警告,以便他们可以选择是否确实要将OpenID与您的网站一起使用.

这导致了你的第二个问题.我想,不知道你正在使用哪个服务器平台,我能做的最好的事情是将你链接到SSL证书上Curl文档 ; 请参阅"获取更好/不同/更新的CA证书捆绑包"部分.