PHP подписал видео URL с HMAC Works изначально, но сбое с 500 ошибкой после нескольких загрузокPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 PHP подписал видео URL с HMAC Works изначально, но сбое с 500 ошибкой после нескольких загрузок

Сообщение Anonymous »

У меня есть сайт потоковой передачи видео, и я хочу добавить истечение срока службы и HMAC HASH в мои URL-адреса загрузки/потока.

Код: Выделить всё

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");
}

$base_url  = $parsed['scheme'] . "://" . $parsed['host'];
$file_path = $parsed['path'];

$expire_ts = time() + $ttl;
$data = "path={$file_path}&play={$play}&expire={$expire_ts}";

$sig = hash_hmac('sha256', $data, $secret, true);
$sig_b64 = rtrim(strtr(base64_encode($sig), '+/', '-_'), '=');

$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> 

Подробнее здесь: [url]https://stackoverflow.com/questions/79768961/php-signed-video-url-with-hmac-works-initially-but-fails-with-500-error-after-mu[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»