为什么我不需要避免SSL检查,但在使用PHP cURL时可以请求HTTPS资源
我在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
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);