Перейти к основному содержимому

Настроить защищенный доступ к контенту

По умолчанию любой пользователь может получить доступ к вашему контенту.

Вы можете настроить защищенный доступ к контенту — по кодовому слову или по собственному скрипту.

Настроить доступ по кодовому слову

Настройка доступа по кодовому слову (Tokenized URL) позволяет сделать ссылки на контент временными и ограничить доступ к контенту по IP-адресу.

К ссылкам на сайте добавляется токен вида md5(kymJ2w55VH4LUMSKGb6ZqA,1704067200). Токен добавляется с помощью скрипта, который вы самостоятельно дорабатываете и размещаете на сервере. Токен формируется:

  • из кодового слова, которое вы придумали;
  • пути к файлу на источнике;
  • опционально: разрешенного IP-адреса;
  • опционально: срока действия ссылки в формате POSIX-времени.

В результате защищенная ссылка с токеном будет такого вида:

https://cdn.example.com/md5(kymJ2w55VH4LUMSKGb6ZqA,1704067200)/path/to/file.png.

Когда пользователь переходит по ссылке, CDN-серверы проверяют токен в запросе. Если токен совпадает и время жизни ссылки не истекло, то серверы отдают контент. При этом сами CDN-серверы получают контент от источника независимо от наличия кодового слова.

  1. В панели управления в верхнем меню нажмите Продукты и выберите CDN.

  2. В разделе CDN-ресурсы откройте страницу CDN-ресурса → вкладка Ограничения.

  3. В блоке Авторизация выберите По кодовому слову.

  4. Введите кодовое слово размером от 6 до 32 символов. Можно использовать латинские буквы и цифры.

  5. Опционально: чтобы ссылка была бессрочной, отметьте чекбокс Не ограничивать по времени. Если вы оставите чекбокс неотмеченным, время действия ссылки нужно будет указать в скрипте. Подробнее в подразделе Примеры скрипта для генерации защищенной ссылки.

  6. Опционально: чтобы контент был доступен с любых IP-адресов, отметьте чекбокс Не учитывать IP. Если вы оставите чекбокс неотмеченным, IP-адреса нужно будет указать в скрипте. Подробнее в подразделе Примеры скрипта для генерации защищенной ссылки.

  7. Нажмите Применить. Во время применения настроек CDN-ресурс будет находиться в статусе PROCESSING. В это время применение других настроек недоступно. Настройки применятся, когда CDN-ресурс перейдет в статус ACTIVE.

  8. Настройте генерацию ссылки с токеном на сервере с помощью скрипта. Посмотреть примеры скриптов можно в подразделе Примеры скрипта для генерации защищенной ссылки.

к сведению

Это примеры скрипта для генерации токена с учетом ограничений по IP-адресу и времени действия ссылки. Если вы не хотите указывать IP-адреса и время действия ссылки, удалите из скрипта эти параметры.

<?php
$secret = '<code_word>';
$ip = '<ip_address>';
$path = '<path>';
$lifetime = <link_lifetime>;
$expires = time() + $lifetime;
$link = "$secret$path$ip$expires";
$md5 = md5($link, true);
$md5 = base64_encode($md5);
$md5 = strtr($md5, '+/', '-_');
$md5 = str_replace('=', '', $md5);
$domain = '<domain>';
$url = "$domain/md5($md5,$expires)$path";
echo $url;
echo "\n";

Укажите:

  • <code_word> — кодовое слово, которое указали при настройке доступа к контенту по кодовому слову;

  • <ip_address> — IP-адрес, с которого разрешен доступ к контенту;

  • <path> — относительный путь к файлу или префикс пути на источнике. Например, есть относительный путь к файлу: /path/to/file.jpg. Чтобы дать доступ:

    • к конкретному файлу укажите: /path/to/file.jpg;
    • ко всем файлам, которые начинаются с /path/to/, включая подпапки, укажите: /path/to;
    • ко всем файлам в /path/ и его подпапках укажите: /path;
  • <link_lifetime> — время жизни ссылки в секундах;

  • <domain> — домен CDN-ресурса с указанием протокола, например https://cdn.example.com. Посмотреть домен CDN-ресурса можно в панели управления: в верхнем меню нажмите Продукты → CDN → CDN-ресурсы → строка CDN-ресурса.

Настроить доступ по собственному скрипту

Вы можете добавить собственный скрипт для авторизации пользователей.

Когда пользователь переходит по ссылке, решение о доступе к контенту принимается на основе ответа от скрипта.

В запросе к скрипту передаются заголовки:

  • Host — имя домена, для которого предназначен запрос;
  • X-Request-URI — URI запрашиваемого CDN-ресурса;
  • X-Forwarded-For — реальный IP-адрес пользователя, который запрашивает CDN-ресурс;
  • X-Remote-Addr — IP-адрес пользователя, который запрашивает CDN-ресурс, или IP-адрес прокси-сервера.
  1. В панели управления в верхнем меню нажмите Продукты и выберите CDN.

  2. В разделе CDN-ресурсы откройте страницу CDN-ресурса → вкладка Ограничения.

  3. В блоке Авторизация выберите По внешнему скрипту.

  4. Вставьте URL-адрес скрипта.

  5. Нажмите Применить. Во время применения настроек CDN-ресурс будет находиться в статусе PROCESSING. В это время применение других настроек недоступно. Настройки применятся, когда CDN-ресурс перейдет в статус ACTIVE.