Почему стержни CURL находятся с периодическими работами сертификата SSL?
-
12-11-2019 - |
Вопрос
Я думаю, что теперь у меня есть хороший взгляд, почему вам нужно либо иметь пакет сертификата SSL при вытянуте содержимое из API HTTPS, таких как Facebook.Но мой вопрос: почему эта работа иногда даже без сертификата и некоторых других нет? Мне кажется, что у Libcurl есть способ преодолеть эту проблему самостоятельно.
Кто-нибудь знает, почему или как это происходит?У кого-нибудь был такой же опыт?
Решение
Поведение завитка с откуда к сертификатам SSL зависит от опции curlopt_ssl_verifypeer. Предполагая, что вы используете PHP, вы можете использовать функцию rel="nofollow"> curl_setopt для изменения значения этой опции.
У меня есть только поверхностные знания SSL, но кажется, что скручиваемость ведет себя следующим образом: 0 означает, что нет проверки, 1 проверяет, является ли сертификат законным, и 2 чека также проверяют, выдается ли сертификат к правильному имени хоста.
Вы можете «выключить раздражающие ошибки», устанавливая Curlopt_ssl_verifypeer до 0, но это означает, что вы не можете быть уверены, что у вас будет подключение к правильному серверу, так как любой может Spoof DNS . Так что это очень опасно.
Официальный Facebook PHP SDK поставляет свой собственный сертификат с использованием Curropt_cainfo , но только когда curl не смогли подтвердить сертификат самостоятельно. Я не знаю, почему разработчики SDK Facebook сделают это условно; Возможно, потому что сертификаты чтения могут быть дорогими.