隐藏源链接中的文件名

时间:2013-07-08 06:29:16

标签: php javascript

我需要从网站上保护我的视频文件。所以,我需要解码我的文件名。我使用了以下代码。但视频没有播放。

    <?php
    $str1 = 'movie.mp4';
    $enc1 = base64_encode($str1);
    $str2 = 'movie.swf';
    $enc2 = base64_encode($str2);
    $str3 = 'movie.ogg';
    $enc3 = base64_encode($str3);
    $str4 = 'movie.webm';
    $enc4 = base64_encode($str4);
    echo "<video width='320' height='240' controls>
         <source src='".$enc1."' type='video/mp4'>
         <source src='".$enc3."' type='video/ogg'>
         <source src='".$enc4."' type='video/webm'>
         <object data='".$enc1."' width='320' height='240'>
         <embed src='".$enc2."' width='320' height='240'>
         </object></video> ";
?>

3 个答案:

答案 0 :(得分:1)

视频未播放的原因是因为您在src中指定的文件不存在,因为它是编码的字符串而不是实际的文件名。

答案 1 :(得分:1)

试图“隐藏”文件名毫无意义。如果您希望用户可以观看视频,则用户需要一些可以访问该文件的URL。根据定义,URL始终是公共的并且对用户可见,否则它不能用于访问任何内容。这个URL到底完全取决于你。它可以是文件的真实名称,也可以是某种与服务器上的文件关联的随机ID。对用户来说无关紧要。重要的是在访问URL时提供所请求的数据。

如果您只想向特定用户显示该文件,那么您正在寻找授权系统,而不是为了混淆URL。

答案 2 :(得分:0)

通过这种方式,将发现文件未找到错误,尝试执行下面给出的操作。

你可以做一件事做一个以字节为单位读取视频文件的功能n返回播放器只需将视频名称n路径传递给功能n播放视频而无需像流媒体那样的网址