如何使用网址在网上制作视频,但无法通过直接链接访问?
现在我使用jw player
<script type="text/javascript">
jwplayer("mediaplayer1889082201").setup({
flashplayer: "jwplayer/jwplayer.flash.swf",
file: "http://testhost.com/myproject/files/1/video/coursecreeklruprr4nags7ee1codeschool_756.mp4",
image: "http://testhost.com/myproject/files/1/video/coursecreeklruprr4nags7ee1codeschool_756.jpg",
width: "800",
height: "510",
stretching: "uniform",
skin: "jwplayer/jwplayer-skins-free/six.xml",
abouttext: "myproject",
aboutlink: "myproject",
});
</script>
所以我可以使用http://testhost.com/myproject/files/1/访问文件夹(通过inspect元素查看此链接)
我想在jw播放器上播放视频。但我不希望用户通过直接网址访问包含视频的文件夹。
你告诉你。答案 0 :(得分:1)
好的,我知道您希望将视频文件提供给脚本,但您不希望用户能够导航到视频网址并从那里下载/查看。
将您的代码更改为:
<script type="text/javascript">
jwplayer("mediaplayer1889082201").setup({
flashplayer: "jwplayer/jwplayer.flash.swf",
file: "video.php?file=coursecreeklruprr4nags7ee1codeschool_756.mp4",
image: "http://testhost.com/myproject/files/1/video/coursecreeklruprr4nags7ee1codeschool_756.jpg",
width: "800",
height: "510",
stretching: "uniform",
skin: "jwplayer/jwplayer-skins-free/six.xml",
abouttext: "myproject",
aboutlink: "myproject",
});
</script>
正如您所看到的,我们正在向video.php
发送文件请求,然后我们将创建为该视频提供服务的文件,只有当引荐者是您的网页时才会显示该文件。
继续在同一文件夹中创建video.php
。
首先,我们需要检查网址中是否有文件,如下所示:
<?php
if(isset($_GET['file']) {
}
然后我们检查引荐来源是否是您的页面,如下所示:
if (strpos($ref,'testhost.com/myproject/files/1') !== 0){
}
如果是您的页面,我们可以开始提供您的文件,如下所示:
$path = 'video/' . $_GET['file'];
header("X-Sendfile: $path");
所以整个事情在一起:
<?php
if(isset($_GET['file']) {
if (strpos($ref,'testhost.com/myproject/files/1') !== 0){
$path = 'video/' . $_GET['file'];
header("X-Sendfile: $path");
}
}
注意;这是一个非常快速的示例,而不是一个安全且随时可用的脚本!它们必须是内置的安全检查,即使文件不存在,您也要提供文件,因此仍需要进行检查以使其可以使用。
祝你的项目好运。
答案 1 :(得分:0)
下:
stretching: "uniform",
添加:
type: "mp4",
这样,如果文件没有文件扩展名,JW Player可以读取该文件。