启用CURLOPT_SSL_VERIFYPEER和禁用CURLOPT_SSL_VERIFYHOST会带来哪些安全后果?
启用CURLOPT_SSL_VERIFYPEER和禁用CURLOPT_SSL_VERIFYHOST会带来哪些安全后果?
CURLOPT_SSL_VERIFYPEER 检查远程证书是否有效,即您信任它是由您信任的CA颁发的且真实存在。
CURLOPT_SSL_VERIFYHOST 检查证书是否颁发给您要通信的实体。
为了将其比喻为现实生活中的情况,VERIFYPEER 就像检查您认可的 ID 表单(例如来自您信任的国家的护照、来自您了解的公司的员工卡等)。 VERIFYHOST 就像检查卡上的实际姓名是否与您想要交流的人相匹配。
如果您不使用 VERIFYHOST(正确的值是 2,而不是 1),则会禁用主机名验证并为中间人攻击打开大门:任何拥有您信任的一种 ID 的人都可以假冒在您信任的 ID 集合内的任何人,例如任何持有有效护照的人都可以假扮成任何其他持有有效护照的人。