При отправке запроса прокрутки PHP на сервер с использованием cloudflare (Full SSL) произошла ошибка SSL и пустое печенье SESSION

Привет, я делаю сайт прямо сейчас. Оба эти файла находятся на одном сервере и в одном домене, и я использую cloudflare для увеличения загрузки. Я использую опцию Full SSL на cloudflare, потому что я купил собственный SSL Geotrust на моем сервере. Я уже обновил свой curl на сервере до 7.41.0.

Один PHP-файл состоит из функции

Функциональный файл:

<?php
function get_content($session){
$endpoint = "https://sample.ph/php/resource.php";
// Use one of the parameter configurations listed at the top of the post
$params = array(
"yel" => $session
);

$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$endpoint);
$strCookie = 'PHPSESSID='.$_COOKIE['PHPSESSID'];
curl_setopt($curl, CURLOPT_COOKIE, $strCookie);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_VERBOSE, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
$postData = "";

//This is needed to properly form post the credentials object
foreach($params as $k => $v)
{
$postData .= $k . '='.urlencode($v).'&';
}
$postData = rtrim($postData, '&');

curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($curl, CURLOPT_HEADER, 0); // Don’t return the header, just the html
curl_setopt($curl, CURLOPT_CAINFO,"/home/sample/public_html/php/cacert.pem"); // Set the location of the CA-bundle

session_write_close();
$response = curl_exec($curl);

if ($response === FALSE) {
return "cURL Error: " . curl_error($curl);
}
else{
// evaluate for success response
return $response;
}
curl_close($curl);
}
?>

Файл ресурса

<?php
session_start();

if(isset($_POST['yel'])){

$drcyt_key = dcrypt("{$_POST['yel']}");

if($drcyt_key == $_SESSION['token']){
echo "Success";

}
}
?>

Как вы думаете, я это исправлю?

  1. Ошибка проверки SSL. При отладке иногда я получал ошибку cURL: проблема с сертификатом SSL, проверьте, что сертификат CA в порядке. Сведения: ошибка: 14090086: подпрограммы SSL: SSL3_GET_SERVER_CERTIFICATE: сбой проверки сертификата

  2. Иногда я получаю ошибку cURL: сертификат SSL-партнера или удаленный ключ SSH не работают

  3. Когда я ставлю curl_setopt ($ curl, CURLOPT_SSL_VERIFYPEER, true); ЛОЖЬ, что не очень хорошая идея; Наступает вторая проблема, когда SESSION COOKIE становится пустым при первой загрузке.

Я НАДЕЮСЬ, ЧТО ВЫ МОЖЕТЕ МНЕ ПОМОЧЬ. БЛАГОДАРЮ ВАС.

2

Решение

Эта проблема выглядит как устаревший пакет сертификатов или устаревшая версия OpenSSL на сервере. Вы должны убедиться, что у вас есть последние корневые сертификаты на вашем компьютере, а также убедиться, что у вас установлены последние версии OpenSSL (включая модуль PHP OpenSSL).

0

Другие решения

Других решений пока нет …