Такой вид подписи можно использовать если есть несколько файлов в одной папке , например:
/1/2/31.mp4 /1/2/32.mp4 /1/2/33.mp4
В этом случае можно сгенерировать подписанную ссылку для части
/1/2/
и подставлять только имена файлов без изменения подписи. Также вариант использования частичной подписи, если имена файлов в одной подпапке отличаются качеством , к примеру
/1/2/3_240p.mp4 /1/2/3_360p.mp4 /1/2/3_480p.mp4
Можно подписать часть файла
/1/2/3_
и менять только конечную часть ссылки .
Пример скрипта для генерации подписи
<?php # время жизни ссылки $expire = time() + 3600; # файл в цдне 1/2/3_720p.mp4 $file_part1 = "1/2/3_"; $file_part2 = "720p.mp4"; $file_part1_len = length($file_part1); $url = ",end=$expire,len=$file_part1_len/$file_part1"; # можно изменять настройки скорости и буфера в урле , по-умолчанию берутся настройки аккаунта, потом домена # http://wiki.ahcdn.com/doku.php?id=ru:feature_default_settings #$url = ",end=$expire,len=$file_part1_len/speed=300K/buffer=5.0/$file_part1"; $domain = 'cdn.domain.com'; # secret нужно запросить у поддержки цдна , изменять нельзя - ссылка не будет проходить проверку $secret = 'qwerty'; $key = substr(base64_encode(md5("$secret$url", true)), 0, 22); $key = str_replace('/', '-', $key); $fullurl = 'http://' . $domain . '/key=' . $key . $url$file_part2; # Получится ссылка вида # $fullurl == "http://cdn.domain.com/key=9CVHszhqqsA,end=1374068216,len=6/1/2/3_720p.mp4" ?>
Есть возможность указывать “белый список” адресов , для которых не будет проверяться подпись урла( настройка keycheck_whitelist у клиента). Делается через поддержку цдна.
Про обычную подпись можно почитать здесь: Подпись ссылки