Ссылки
Публичная ссылка
Публичная ссылка указывает на определенный путь в хранилище. Например, если в хранилище файл расположен по пути /my/file, он будет доступен по ссылке http://cdnuser.cdn.zerocdn.com/my/file.
- При переименовании файла в "/my/file2" или перемещении, будет утерян доступ к нему по старой ссылке, и актуальной ссылкой станет "http://cdnuser.cdn.zerocdn.com/my/file2".
- Если в хранилише будет загружен другой файл с именем "/my/file", по ссылке "http://cdnuser.cdn.zerocdn.com/my/file" будет доступно содержимое нового файла.
Прямая ссылка
Прямая ссылка - это ссылка, указывающая на файл, независимо от его расположения в храналище и названия.
Если файл сохранен по пути "/my/file", прямая ссылка на него может выглядеть как "http://cdn.zerocdn.com/0/file". При его переименовании или переносе в другую папку он все еще будет доступен по ссылке "http://cdn.zerocdn.com/0/file".
Подписывание ссылок
ZeroCDN предоставляет возможность ограничения доступа к файлам по ip и по времени или по cookie и времени (только для публичных ссылок). Для осуществления этого нужно:
- ограничить доступ к файлу:
- задать для файла параметр «is_hidden» через REST API;
- или опцию «Доступен только по подписанной ссылке» в свойствах файла в web-интерфейсе.
- сгенерировать для пользователя подписанную ссылку.
Внимание! Время указывается в UTC+00:00.
Внимание! Для генерации ссылок нельзя использовать urlencoded путь к файлу.
Внимание! Для генерации ссылок на файлы с именами, содержащими символы, отличные от латинских, путь к файлу должен быть переведен в utf-8 с помощью функции utf8_encode().
Внимание! На авторизованных пользователей-владелецев файла данное ограничение не распространяется. Для них файл доступен как по неподписанной публичной ссылке, так и по подписанной неправильно.
Так как ZeroCDN.com поддерживает два вида ссылок, механизм геренации подписей для них отличается.
Подписывание публичных ссылок
Подпись публичной ссылки генерируется на основе:
- пути к файлу,
- ip или cookie пользователя, которому выдается ссылка (ip или cookie указывать не обязательно, в случае их отсуствия значение не проверяется),
- времени окончания действия ссылки (UTC+00:00 в формате YYYYMMDDHH),
- api-ключа (api-ключ можно посмотреть и задать в настройках в web-интерфейсе пользователя).
Ограничение по времени и ip
Значение | Формат | Пример |
---|---|---|
ссылка | [username].cdn.zerocdn.com |
username.cdn.zerocdn.com |
подпись | md5([path_to_file] | md5('/my |
deadline | YYYYMMDDHH | 2013122410 |
Ограничение по времени и cookie-ключу
Позволяет сгенерировать ссылку, привязанную к конкретному пользователю, независимо от его IP.
При генерации ссылки необходимо установить уникальное значение cookie, которое будет проверяться на строне CDN.
В качестве названия cookie-ключа используется строка формата "[domain_name]-UID".
В качестве содержимого допускается использование любого значения: от id пользователя в системе клиента до уникальной последовательности символов UID.
Значение cookie-ключа используется вместо IP при генерации и валидации подписи.
Время жизни cookie-ключа не должно быть меньше времени жизни ссылки.
Значение | Формат | Пример |
---|---|---|
Название cookie | [домен]-UID | username-domain.com-UID |
ссылка | [домен] |
username-domain.com |
подпись | md5([path_to_file] | md5('/my |
deadline | YYYYMMDDHH | 2013122410 |
Внимание! Данная функция работает только в случае подключения White Label (делегирование пользовательского домена на сервера CDN).
Ограничение по времени
Значение | Формат | Пример |
---|---|---|
ссылка | [username].cdn.zerocdn.com |
username.cdn.zerocdn.com |
подпись | md5([path_to_file] | md5(' |
deadline | YYYYMMDDHH | 2013122410 |
Ограничение по каталогу
ZeroCDN.com предоставляет возможность ограничения доступа не только к отдельному файлу, но и ко всем файлам в определенном каталоге сразу. Данная возможность может быть использована, например, для HLS.
Ограничение по каталогу можно использовать совместно с ограничением по cookie или по ip.
Значение | Формат | Пример |
---|---|---|
ссылка | [username].cdn.zerocdn.com |
username.cdn.zerocdn.com |
подпись | md5([path] | md5(' |
deadline | YYYYMMDDHH | 2013122410 |
Подписывание прямых ссылок
Подпись генерируется на основе:
- ip пользователя, которому выдается ссылка (ip указывать не обязательно, в случае его отсуствия адрес пользователя не проверяется),
- времени окончания действия ссылки (UTC+00:00 в формате YYYYMMDDHH)
- идентификатора файла
- имени файла
- api-ключа (api-ключ можно посмотреть и задать в настройках в web-интерфейсе пользователя)
Ограничение по времени и ip
Значение | Формат | Пример |
---|---|---|
ссылка | zerocdn.com | zerocdn.com |
подпись | md5([id] - [name] - [ip] - [deadline] - [secret]) | md5('1 |
deadline | YYYYMMDDHH | 2013122410 |
Ограничение по времени
Значение | Формат | Пример |
---|---|---|
ссылка | zerocdn.com | zerocdn.com |
подпись | md5([id] | md5('1 |
deadline | YYYYMMDDHH | 2013122410 |