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

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

Последнее изменение:

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

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

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

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

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

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

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

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.

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

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

к сведению

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

<?php
$secret = '<code_word>';
$ip = '<ip_address>';
$path = '<file_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-адрес, которому вы разрешаете получить контент;
  • <file_path> — относительный путь к файлу на источнике;
  • <link_lifetime> — время жизни ссылки в секундах;
  • <cdn_domain> — домен CDN-ресурса с указанием протокола. Посмотреть домен ресурса можно в панели управления: в верхнем меню нажмите ПродуктыCDNCDN-ресурсы → строка ресурса.

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

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

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

В скрипте нужно передать заголовки:

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

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

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

  4. Укажите ссылку на ваш скрипт.

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