首页 > 编程语言 >PHP认证 MP4文件 播放

PHP认证 MP4文件 播放

时间:2022-08-22 14:37:23浏览次数:70  
标签:文件 播放 mp4 认证 MP4 video PHP

1、问题

  • 直接放在WEB目录下,文件不安全,没有认证可以直接访问;
  • PHP认证通过后返回WEB目录下的真实文件地址,不安全,访问一次后后续可以直接访问;
  • 用PHP读MP4文件然后再输出:加载速度、内存占用、快进快退都会有问题;

2、解决思路:

  • 采用php认证后nginx播放
  • 转hls后加密播放

3、PHP认证后nginx播放

在nginx中配置:

    # 这里使用internal做下载防护,只允许内部程序(PHP等)访问,这样外部直接访问这个地址就会提示404错误
    location ~ \.mp4$ {
        internal;
       # 这里的路径配置是可选的,可以配置到网站外部,和其他location里的配置路径是一个意思,可以更好的防止文件被通过网址下载
        root /opt/video; 
    }

 

在PHP中在认证通过后,写:

header('X-Accel-Redirect:/20220822/06.mp4')

 

将带认证的php文件作为video标签的src,就能播放服务器上:/opt/video/20220822/06. mp4 文件。

 

存在的问题及解决方法:

nginx这种写法可能导致所有的mp4请求都走/opt/video,如果之前有已经存放在web目录下直接访问的mp4文件,需要兼容已有程序,这么做:

    location /28dfs238deswh9HJGAS38/  {
        internal;
        alias /opt/video; 
    }

php里这么写:

header('X-Accel-Redirect:/28dfs238deswh9HJGAS38/20220822/06.mp4')

 

 

4、转hls后的加密播放(未完待续)

 

标签:文件,播放,mp4,认证,MP4,video,PHP
From: https://www.cnblogs.com/dwj192/p/16612690.html

相关文章

  • 14.PHP伪协议利用
    一.伪协议介绍PHP支持以下几种协议:file://-访问本地文件系统http://-访问HTTP(s)网址ftp://-访问各个输入/输出流(I/Ostreams)zlib://-压缩流data://-数......
  • php上传多个图片文件
    前端文件upload1.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metana......
  • nginx与php-fpm通信协议 和 优化
    CGI:通信网关协议CGI协议:动态语言的代码文件需要对应的语言解释器才能被服务器识别,CGI协议就是用来使得解释器与服务器之间互相通信请求链路:1、客户端输入ur2、解析......
  • php合并数组几种方法
    几种合并数组方法如下:使用+号合并数组结果:键名相同时,前边的键值覆盖后边的键值array_merge()方法:键名相同时,后边的键值覆盖前边的键值array_merge_recursive()......
  • 视频播放
    //解析接口配置 //showType=1(仅PC),showType=2(仅mobile),showType=3(同时显示) constoriginalInterfaceList=[ {"name":"纯净/B站","url":"https://z1.m1907.cn/?j......
  • 视频播放
    //解析接口配置 //showType=1(仅PC),showType=2(仅mobile),showType=3(同时显示) constoriginalInterfaceList=[ {"name":"纯净/B站","url":"https://z1.m1907.cn/?j......
  • PHP正则的Unknown Modifier错误解决方法
    https://www.jb51.net/article/22304.htm 如下正则:$a='2<span><nobr>tóng<spanclass="h">dòng</span></nobr><br>垌</span>3';echopreg_replace('/<spanclas......
  • 清除 thinkphp跟php的 X-Powered-By
    thinkphp清除X-Powered-By:ThinkPHP找到文件,ThinkPHP/Lib/Think/Core/View.class.php。搜索到一下代码屏蔽即可。header('X-Powered-By:ThinkPHP'); PHP清除X-Power......
  • php 图片文件上传
    1<?php2header("Content-type:text/html;charset=utf-8");3if(isset($_POST['token'])&&$_POST['token']=='upload'){4//echo"正确提交";5//......
  • MAMP Pro (PHP/MySQL开发环境)
    mamppro是最优秀的本地服务器搭配软件,也是最好的mysql开发环境和php开发环境,包含了acintosh、Apache、MySQL和PHP四大开发环境,用户只要轻松点选就能对架站、讨论区、论坛......