Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Если текущее время превышает значение expires, то пользователю возвращается ответ с кодом 410 Gone (целевой ресурс больше недоступен).

Алгоритм генерации MD5-хэша (<md5_hash>) для подписи ссылок:

  • Формируем строку для подписи <secret_word><path_to_file><ip><expire_time>. Элементы <ip> и/или <expire_time> не добавляются в строку для подписи, если в настройках локальной авторизации указано Не учитывать IP адрес и/или Не ограничивать по времени.
  • Генерируем base64_url через base64_url(md5(<строка для подписи>)).
  • Формируем подпись <md5 hash>, выполняя следующие замены в base64_url:
    • символ = заменяем на пустую строку ''
    • символ + заменяем на -
    • символ / заменяем на _
  • Формируем ссылку, используя полученную подпись <md5 hash>.

Информация
titleОбратите внимание
  1. Доменная часть URI при вычислении хэша не используется
  2. Можно подписывать часть пути (например, для /path/to/file можно подписать сам файл, /path/to, /path)
  3. При генерации MD5 в URL не должно быть символов в формате urlencode, а должны быть исходные символы: кириллица, пробелы, проценты и т.д. Запрашивать с этим хешом необходимо кодированный вариант URL.
  4. Хэш MD5, вычисленный для HTTP, является базовым для данного ресурса, то есть один и тот же хэш будет использован для ссылок на файл по протоколам HTTP и HTTPS, несмотря на то что URI для разных протоколов может немного отличаться.


Пример генерации ссылки:

  1. Есть следующие входные данные:

    • секретный ключ: zah5Mey9Quu8Ea1k
    • IP-адрес пользователя: 1.2.3.4
    • URI ресурса для HTTP: http://example.a.trbcdn.net/path/to/file
  2. Вычисляем время действия ссылки. В приведённом примере – неделя с момента генерации.

    $ php -r 'print time() + (7 * 24 * 60 * 60) . "\n";'
    1387984516
    
  3. Вычисляем хэш MD5 в формате Base64 for URL:
    $ php -r 'print str_replace("=", "",strtr(base64_encode(md5("zah5Mey9Quu8Ea1k/path/to/file1.2.3.41387984516", TRUE)), "+/", "-_")) . "\n";'
    SMsM5ezVQp79ikyjz9tjUw
    
  4. Итоговая ссылка:

    http://example.a.trbcdn.net/md5(SMsM5ezVQp79ikyjz9tjUw,1387984516)/path/to/file

Внешняя авторизация $

Внешняя авторизации предназначена для возможности ограничения доступа к ресурсу с произвольной логикой, описанной в вашем скрипте авторизации.

Решение о доступе к контенту принимается на основе ответа вашего скрипта, ссылку на который Вы указываете в личном кабинете при создании/редактировании ресурса.

Image RemovedImage Added

Если от скрипта авторизации пришел ответ со статусом 200, то доступ к контенту разрешен. В противном случае - доступ запрещен.

...

  1. Активируйте нужный Вам вид ограничения и выберите правило по умолчанию (запрещено или разрешено).
  2. Добавьте исключения из правила по умолчанию. Для гео его ограничений также выберите правило для самого исключения. Таким образом Вы можете, например, запретить трафик для всей страны, при этом разрешить для отдельного региона.
  3. При необходимости задайте интервалы времени действия правила. Интервалы не должны пересекаться.
  4. Возможно добавить несколько различных правил каждого вида, при условии что их временные интервалы не пересекаются.

...

  • application/javascript
  • application/json
  • application/vnd.apple.mpegurl
  • application/vnd.ms-fontobject
  • application/x-font-opentype
  • application/x-font-truetype
  • application/x-font-ttf
  • application/x-javascript
  • application/xml
  • application/xml+rss
  • font/eot - font/opentype
  • font/otf - image/svg+xml
  • image/vnd.microsoft.icon
  • image/x-icon
  • text/compressible
  • text/css
  • text/javascript
  • text/xml

...

Вы можете одновременно изменить качество изображения с помощью модификатора quality. Если модификатор не указан, то по умолчанию принимается quality = 75.

...

Значение задается целым числом в диапазоне 1-100. Чем больше число, тем выше качество.

Примеры запросов:

https://example.a.trbcdn.net/ioss(quality=70)/example.jpg



https://example.a.trbcdn.net/ioss(quality=1)/example.jpg

 

resize

Позволяет изменять размер изображения. Новый размер задаётся в запросах от пользователя в качестве значения параметра resize в виде <width>x<height>, либо <width>, либо x<height>. В двух последних случаях вторая размерность вычисляется исходя из соотношения сторон исходного изображения. Изменение размера без потерь возможно только в меньшую сторону. Размерности задаются целыми числами.

Примеры запросов:

https://example.a.trbcdn.net/ioss(resize=400x300)/example.jpg 


https://example.a.trbcdn.net/ioss(resize=x200)/example.jpg
 

progressive

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

Пример запроса:

https://example.a.trbcdn.net/ioss(progressive=y)/example.jpg

...

Конвертация видео

Активируйте данную услугу, если у Вас видео в формате MP4-файла, а Вам требуется его раздача по стриминговым протоколам HLS или MPEG-DASH. Услуга может быть включена для всего ресурса, либо для определенного пути (правила).

...