php - 通过 php 和 mysql 隐藏真实视频/文件 URL 并使用查询

标签 php mysql video

我正在考虑一个概念,即如何在不暴露真实路径/URL 的情况下提供文件/视频。我的想法是类似于数据库表,它由散列和等效的 url 组成,如下所示:

编号:1 哈希:ABCDEF 真实网址:http://site.tld/folders/videos/myvideo.mp4

然后,视频链接将被 php 隐藏,如下所示:

http://site.tld/stream.php?video=ABCDEF

所以每当我调用上面的 url 时,它都会从数据库中的 realurl 提供文件,而不会将 realurl 暴露给查看者,因为他们正在通过 stream.php 流式传输文件/视频

如有任何帮助,我们将不胜感激。

编辑:这是我到目前为止所做的,但仍然无法正常工作。我想知道我是否走对了路。

<?php
 
        $video = $_GET['video'];
        $username = "username";
        $password = "xxxxxxxxxxx";
        $hostname = "localhost";
        $database = "stream";
 
        $dbhandle = mysql_connect($hostname, $username, $password)
 
        or die("Unable to connect to MySQL");
 
        $selected = mysql_select_db($database,$dbhandle)
 
        or die("Could not select $database");
 
        $path = mysql_query("SELECT `realurl` FROM `stream` WHERE `hash`=’$video")
 
        or die(mysql_error());
 
        readfile($path);
 
        mysql_close($dbhandle);
 
?>

最佳答案

您的解决方案会奏效。

假设您的 URL 是永久性的,请确保备份您的数据库,以便在崩溃或数据丢失的情况下,您能够将您的动态 URL 重新指向正确的视频文件。

关于php - 通过 php 和 mysql 隐藏真实视频/文件 URL 并使用查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28760392/

相关文章:

PHP 地理定位(街道地址 -> 经纬度)

php - 如何从 Mac 上完全卸载 symfony 和 composer

PHP tot MySQL 图片上传不工作

mysql - SELECT SUM(column) INTO @variable in MySQL Trigger

php - 如何选择 mysql 数据库中特定列的最后一个值?

android - 删除时未删除的文件仍显示在 ListView 中

ios - Cordova iOS 播放本地存储的视频文件

android - 如何使用 ffmpeg 和 sdl 为 Android 制作视频播放器?

php - 如何直接在 URL 中拒绝用户访问脚本

php - 如何从当前日期 PHP 获取最近 7 周、7 个月的日期范围?