为什么我不需要避免SSL检查,但在使用PHP cURL时可以请求HTTPS资源

为什么我不需要避免SSL检查,但在使用PHP cURL时可以请求HTTPS资源,php,ssl,curl,https,Php,Ssl,Curl,Https,我在PHP中使用curl来请求一些https站点,比如https://github.com,我使用的代码如下: <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://github.com/search?q=react"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($ch, CURLOPT_RETURNTRAN

我在PHP中使用curl来请求一些https站点,比如
https://github.com
,我使用的代码如下:

<?php 
   $ch = curl_init(); 
   curl_setopt($ch, CURLOPT_URL, "https://github.com/search?q=react"); 
   curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
   $output = curl_exec($ch); 

   echo $output;

   curl_close($ch);      
?>
那么为什么我可以在没有这两行代码的情况下请求https资源以避免SSL检查呢


谢谢。

这两个卷曲选项定义为:

-验证对等方的SSL证书

-根据主机验证证书的名称


在Curl中,它们都默认为
true
,除非有充分的理由,否则不应禁用它们。通常,只有当您向服务器发送带有无效或自签名证书的请求时,才需要禁用它们,这通常只是开发中的一个问题。任何面向公众的站点都应该提供有效的证书,禁用这些选项可能会使您面临安全问题。

您不需要这两个选项,也可能不需要它们您也不需要
CURLOPT_CUSTOMREQUEST
行-默认值已经是
GET
。不要在不了解代码功能的情况下使用代码。好的,我明白了。非常感谢。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);