С помощью этого PHP скриптКак проверить, совпадает ли имя хоста с общим именем в сертификате SSL в PHP?
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_URL, 'https://sf.net/');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
if (!curl_exec($ch)) {
echo "Error #" . curl_errno($ch) . ": " . curl_error($ch);
}
?>
Я не получил сообщение об ошибке. Кажется, все в порядке.
Ожидаемый результат должен содержать сообщение об ошибке, указывающее, что имя сертификата sourceforge.net
не соответствует ожидаемым sf.net
. Как вы думаете?
Благодарим вас за эти объяснения. Вы имеете в виду, что я должен установить 'CURLOPT_SSL_VERIFYPEER' значение TRUE и' CURLOPT_SSL_VERIFYHOST'to 0? – LeMoussel
@LeMoussel: для правильной проверки вы должны оставить оба в том, что, как мы надеемся, по умолчанию в вашей системе, это [verifypeer true] (https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html) и [verifyhost 2 ] (https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYHOST.html) –