...
Если текущее время превышает значение 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>
.
Информация | ||
---|---|---|
| ||
|
Пример генерации ссылки:
Есть следующие входные данные:
- секретный ключ: zah5Mey9Quu8Ea1k
- IP-адрес пользователя: 1.2.3.4
- URI ресурса для HTTP: http://example.a.trbcdn.net/path/to/file
Вычисляем время действия ссылки. В приведённом примере – неделя с момента генерации.
$ php -r 'print time() + (7 * 24 * 60 * 60) . "\n";' 1387984516
- Вычисляем хэш MD5 в формате Base64 for URL:
$ php -r 'print str_replace("=", "",strtr(base64_encode(md5("zah5Mey9Quu8Ea1k/path/to/file1.2.3.41387984516", TRUE)), "+/", "-_")) . "\n";' SMsM5ezVQp79ikyjz9tjUw
Итоговая ссылка:
http://example.a.trbcdn.net/md5(SMsM5ezVQp79ikyjz9tjUw,1387984516)/path/to/file
Внешняя авторизация $
Внешняя авторизации предназначена для возможности ограничения доступа к ресурсу с произвольной логикой, описанной в вашем скрипте авторизации.
Решение о доступе к контенту принимается на основе ответа вашего скрипта, ссылку на который Вы указываете в личном кабинете при создании/редактировании ресурса.
Если от скрипта авторизации пришел ответ со статусом 200, то доступ к контенту разрешен. В противном случае - доступ запрещен.
...
- Активируйте нужный Вам вид ограничения и выберите правило по умолчанию (запрещено или разрешено).
- Добавьте исключения из правила по умолчанию. Для гео его ограничений также выберите правило для самого исключения. Таким образом Вы можете, например, запретить трафик для всей страны, при этом разрешить для отдельного региона.
- При необходимости задайте интервалы времени действия правила. Интервалы не должны пересекаться.
- Возможно добавить несколько различных правил каждого вида, при условии что их временные интервалы не пересекаются.
...
- 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. Услуга может быть включена для всего ресурса, либо для определенного пути (правила).
...