Как я могу защитить себя от пользователей, непосредственно загружающих мои HTML-видео с помощью PHP
Я пытаюсь разработать веб-сайт потоковой передачи видео (для учебных целей) на PHP, используя видеоэлемент HTML5.
Единственная проблема с видео HTML5 элемент что это невероятно небезопасный. Это позволяет пользователю непосредственно видеть источник видео, если он осматривает элемент.
Я хотел бы защититься от этого. Я наткнулся этот ответ, и попытался защитить с помощью этого кода (но он никогда не работал, и я получил ошибку:
Using an empty Initialization Vector (iv) is potentially insecure and not recommended)
Итак, я пошел дальше и создал свою собственную версию (но я получаю ошибку 404 в консоли для видео).
Что я уже пробовал:
view.php:
<?php $dbh->query("INSERT INTO vpt_tokens (video_id, vpt) VALUES (abcd, 1234)"); ?> <video src="/intrapics/stream.php?m=abcd&vpt=1234"></video>
stream.php:
if(!isset($_GET["vpt"]) || trim($_GET["vpt"]) === ""){ header("HTTP/1.0 404 Not Found"); } else { $check = $dbh->query("SELECT vpt FROM vpt_tokens WHERE video_id = abcd AND vpt = " . $_GET["vpt"]); // please note that I do actually use prepared statements, this is just simplified if(!$check->rowCount()){ header("HTTP/1.0 404 Not Found"); } else { $file = "player/" . $_GET["m"] . ".mp4"; if(file_exists($file)){ header("Content-type: video/mp4"); } echo file_get_contents($file); $dbh->query("DELETE FROM vpt_tokens WHERE vpt = " . $_GET["vpt"]); } }
Kornfeld Eliyahu Peter
Все эти отсутствующие скобки-опечатки или настоящие?
Member 13265453
Опечатки :) Мне пришлось преобразовать свой код из использования моих классов ООП в обычный ванильный PHP.