YouTube API на PHP и SSL

Я создал шорткод для получения видео с идентификатора канала, но он не работает без отключения проверки SSL. Я читал, что отключать проверку - не лучшая идея, поэтому есть ли лучший способ заставить ее работать, не отключая ее?

Вот мой код:

function latest_video_shortcode($atts = [], $content = null) {
$matches = [];
$output = '';
$res = '';
$atts  = shortcode_atts(
    array(
        'id'     => '',
        'items'  => '',
    ), $atts
);
if ($atts['id'] == "") {
    $output = '';
} else {
    if ($atts['items'] == "") {
        $number = '3';
    } else {
        $number = $atts['items'];
    }
    $id = $atts['id'];
    stream_context_set_default( [
        'ssl' => [
            'verify_peer' => false,
            'verify_peer_name' => false,
        ],
    ]);
    $uploads = 'https://www.googleapis.com/youtube/v3/channels?part=contentDetails&key=KEY&id='. $id;
    $data1 = json_decode(file_get_contents($uploads), true);
    $uploads_object = $data1['items'][0]['contentDetails']['relatedPlaylists']['uploads'];
    $url = 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId='.$uploads_object.'&key=KEY&maxResults='.$number;
    $data2 = file_get_contents($url);
    $characters = json_decode($data2, true);
    for ($i = 0 ; $i < $number ; ++$i) {
        $link = $characters['items'][$i]['snippet']['resourceId']['videoId'];
        $img = $characters['items'][$i]['snippet']['thumbnails']['medium']['url'];
        $title = $characters['items'][$i]['snippet']['title'];
        $contenido = '<div class = "video">
        <a target = "_blank" href = "https://thewikihow.com/video_'.$link.'">
          <div class = "image">
               <img src = "'.$img.'">
               <div class = "vid"><i aria-hidden = "true" class = "fa fa-youtube-play"></i></div>
          </div>
        </a></div>';
        $res .= $contenido;
    }
    $output = '<div id = "vid-feed">'.$res.'</div>';  
}
return html_entity_decode($output); 
}
add_shortcode('ytb_video', 'latest_video_shortcode');

А шорткод работает так:

[ytb_video id = "channelID" items = "4"]

Если вы отключите одноранговую проверку, вы станете уязвимыми для атак MITM. Взгляните на следующий пост и обсуждение. Обратите внимание на ссылку на пакет curl и способ ссылки на него: stackoverflow.com/a/28701786/9653083

ansibly 10.05.2018 22:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
66
0

Другие вопросы по теме