У меня есть сайт потоковой передачи видео, и я хочу добавить истечение срока службы и HMAC HASH в мои URL-адреса загрузки/потока.[code]function generate_signed_url($full_url, $play = 0, $ttl = 3600, $secret="SecretKey") { $parsed = parse_url($full_url); if (!isset($parsed['scheme']) || !isset($parsed['host']) || !isset($parsed['path'])) { throw new Exception("Invalid URL: $full_url"); }
$url = $base_url . "/encodeVideo.php?file=" . urlencode($file_path) . "&play={$play}&expire={$expire_ts}&sig={$sig_b64}"; return $url; } < /code> Например, он генерирует этот URL: < /p> https://dl2.storage.com/stream.php?file=%2FMovies%2FA+Good+Day+to+Die+Hard+2013%2FA.Good.Day.to.Die.Hard.2013.EXTENDED.CUT.1080p.BluRay.SoftSub.KargadanMovie.mkv&play=0&expire=1758233262&sig=U-RGM42CEQw7FNzbQ3JbqeqmXQkLOyeTq0zAxTf5Bfo < /code> На моем сервере Windows я настроил правило переписывания с помощью этого шаблона: < /p> ^(?!stream\.php)(?!.*Trailer_)(?!stream/)(.+\.(?:mkv|mp4))$ < /code> , которые отображают: < /p> /encodeVideo.php?file=/{R:1} < /code> Вот мой encodevideo.php (сокращен для ясности, полный код ниже): < /p> [list] [*] Он проверяет истечение срока действия и Sig < /li> Домены карт для приводов < /li> Поддерживает запросы на диапазон диапазона (Resume Roads) < /li>