是否以编程方式检测CURLOPT_SSL_VERIFYPEER?

时间:2014-04-10 作者:EHerman

我使用最新的PHP类包装器设置了一个有点复杂的MailChimp插件。类包装器顶部的设置之一是:

/** * CURLOPT_SSL_VERIFYPEER setting * @var bool */ public $ssl_verifypeer = true;

我们插件的一些用户必须手动将此设置更改为“false”,以使插件正常工作,我不知道此设置的原因或作用。什么服务器设置会强制用户将其设置为false?

我在这里寻找两件事:

1) 这个设置到底在做什么?为什么一些用户需要将其设置为true,而另一些用户需要将其设置为false?

2) 是否有一种方法可以根据用户服务器设置以编程方式检测应该使用哪种设置?我已经建立了一种方法来检测是否在服务器级别启用了cURL,我希望在这里做一些类似的事情。

谢谢

1 个回复
SO网友:EHerman

从stackoverflow响应:

CURLOPT\\u SSL\\u VERIFYPEER检查远程证书是否有效,即您是否相信它是由您信任的CA颁发的,并且它是真实的。

CURLOPT\\u SSL\\u VERIFYHOST检查证书是否已颁发给您想要与之对话的实体。

要将其与现实情况进行比较,VERIFYPEER就像是检查身份证的形式是否是您识别的形式(即您信任的国家的护照、您认识的公司的员工卡……)。验证主机(VERIFYHOST)就像检查卡片上的实际姓名是否与您想要交谈的人相符。

如果不使用VERIFYHOST(正确的值是2,不是1,顺便说一句),则禁用主机名验证并打开了MITM攻击的大门:任何具有您信任的ID形式的人都可以模拟您信任的ID集中的任何人,例如,任何拥有有效passport的人都可以假装自己是拥有有效passport的其他人。

https://stackoverflow.com/questions/13740933/security-consequences-of-disabling-curlopt-ssl-verifyhost-libcurl-openssl

但我的问题仍然存在,为什么一些用户必须将其设置为false?很明显,从这个反应来看,这是一个安全风险,所以他们不应该这样做。

结束

相关推荐

使用WordPress和W3TC的APC碎片化提及在Apache AWS EC2小实例上的问题

在上询问此问题serverfault, 并确认W3TC最有可能导致该问题,但我的一些W3TC/Wordpress特定问题无法得到回答。在这里重新发布,因为这个社区有希望更好地回答这些问题。我在下面鼓励他们*AWS EC2小实例,Apache 2运行WordPress和W3TC。一小时内,我的APC碎片率达到100%。我的APC设置为:apc.enabled = 1 apc.shm_segments = 1 apc.shm_size = 100M apc.optimization =