php - 如何使用 PHP 提供 .flv 文件?

标签 php security video streaming http-headers

我正在构建一个流媒体视频网站。这个想法是,客户应该支付成员(member)费,登录系统,然后才能观看视频。我要去 FlowPlayer用于显示实际视频。

现在的问题是,视频需要公开存储在某个地方,并且 .flv 文件的 url 需要传递给 flowplayer 以便它能够显示它们。这会产生一个问题,因为任何人都可以查看源代码、下载视频并在整个互联网上分发它。

我知道有些人使用 php 通过执行图像 header() 来提供图像,然后他们可以做类似的事情:

<img src="image.php?userId=1828&img=test.gif" />

php 脚本验证用户 ID 并提供 .gif 并且 gif 的实际 url 永远不会被泄露。

无论如何也可以使用 .flv 或任何其他视频格式来做到这一点吗?例如,传递给 PHP 脚本的文件和用户 ID,它验证它们并返回视频?

最佳答案

您可以在您的网络服务器上设置一个包含只能由 PHP 访问的 FLV 文件的目录,然后在您的 PHP 脚本中您可以像往常一样验证用户并简单地向浏览器发送一个 header 告诉它期待一个 FLV ,然后回显原始 FLV 数据:

<?php
// here is where
// you want your
// user authentication

if ($isAuthenticated)
{
  header("Content-type: video/flv");
  echo file_get_contents($pathToFLV);
}
?>

正如 Chad Birch 所讨论的,这只会阻止人们直接链接到视频 - 您无法通过这种方式阻止盗版。

关于php - 如何使用 PHP 提供 .flv 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/599509/

相关文章:

php - 忽略 file_get_contents HTTP 包装器中的错误?

PHP Ajax 上传进度条

javascript - 将 javascript 图像 uploader 添加到 .NET 网站 - 安全问题

java - https 与 ssl 固定

ios - iOS 上的默认文件保护是什么以及如何更改它

android - Android 上使用 Phonegap 3.4 的 HTML5 视频

android - 如何使用 Camera API 实现 SlowMotion 和 TimeLapse 视频录制

javascript - Bootstrap 模式的目标 ID,用于在模式关闭时停止播放视频

PHP foreach 不循环

php - Encoder->IsPasswordValid 必须实现接口(interface)\UserInterface