使用php加密url AmazonS3

使用php加密url AmazonS3,php,encryption,amazon-s3,mp4,Php,Encryption,Amazon S3,Mp4,我想保护我的url.mp4 amazon s3,以便能够将其插入我网站上的播放器中。我想得到一件事: https://[mysite]/encrypt/encriptar.php?v=M3BtRGtUNkRoSndYRU5PdWI0Tmd2SjUrUmZRWWxybFVGU2pCTHBkT3B0U1Fkd3JsN2RaQXFQYURYdjVUL1g2bk1KQTkvcUZKbUY3UTRvOVNSNzNtbks3NUl6TzlZVFdHbXFKT1ZQUVNvOU9ndS9CTnowYmVqVW

我想保护我的url.mp4 amazon s3,以便能够将其插入我网站上的播放器中。我想得到一件事:

https://[mysite]/encrypt/encriptar.php?v=M3BtRGtUNkRoSndYRU5PdWI0Tmd2SjUrUmZRWWxybFVGU2pCTHBkT3B0U1Fkd3JsN2RaQXFQYURYdjVUL1g2bk1KQTkvcUZKbUY3UTRvOVNSNzNtbks3NUl6TzlZVFdHbXFKT1ZQUVNvOU9ndS9CTnowYmVqVWk4dXA4dzk0L0xVOStlb1Y5UTFsaU1RTmVKUUFUd2VRPT0=
我找到了这个脚本,但它似乎不起作用,无法播放视频:

    <?php
    session_start();
    $sid = session_id();

    $path = "http://s3-us-east-1.amazonaws.com/my bucket/myfile.mp4";

    $hash = md5($path.$sid);

    $_SESSION[$hash] = $path;

    ?>

    <html>
<head></head>
<body>

    <video width="320" height="240" controls>
        <source src="encriptar.php?video=<?= $hash ?>" type="video/mp4">
    </video>

</body>
</html>


当有人访问该页面时,他们将尝试再次访问该页面来播放视频。这是一个循环

encriptar.php中执行此操作:

<?php
session_start();
$sid = session_id();

$path = "http://s3-us-east-1.amazonaws.com/my bucket/myfile.mp4";

$hash = md5($path.$sid); //You need to use proper encryption. This is not secure at all.

$_SESSION[$hash] = $path;
?>

<html>
<head></head>
<body>

    <video width="320" height="240" controls>
        <source src="decrypt.php?video=<?= $hash ?>" type="video/mp4">
    </video>

</body>
</html>

这样,您的encryptar将为解密脚本创建一个哈希,该脚本将解密并代理该文件。请注意,每个人都可以下载视频,唯一能保护你不受伤害的是人们知道你的bucket名称

encriptar.php
做什么?这个[link][/link]Md5不是加密我试过了,正如你说的我看到了,但文件没有播放,这是无效的源代码为什么?好的,视频工作,但如果我向前移动播放器,半个视频示例视频挂起,向前和向后移动播放器,我必须等待所有缓冲区都满了。如果没有脚本,视频效果会很好。你有办法解决这个问题谢谢much@evil1990这要复杂得多。检查
<?php 
session_start();
if (isset($_GET["video"]) && isset($_SESSION[$_GET["video"]])) {
   header("Content-Type: video/mp4");
   $file = $_SESSION[$_GET["video"]]; //Get the filename
   readfile($file); //Proxy
   die();       

}