【问题标题】:Use htaccess to only allow one page to access video使用 htaccess 只允许一页访问视频
【发布时间】:2013-10-17 15:59:02
【问题描述】:

我的网站上有一个文件夹,其中包含多个 mp4 文件。我的网站上有一个 php 页面,用于播放那些 mp4 视频。我是 htaccess 的新手,我需要一个 htaccess,它允许我的 videowindow.php 访问 mp4 文件,但如果不是从 videowindow.php 访问这些文件,则阻止访问这些文件

基本上,除非 videowindow.php 正在访问视频,否则无法访问视频。我尝试了几个在这里和那里找到的例子,但它们似乎都不起作用。他们中的大多数人完全拒绝访问视频文件,因此我自己的 videowindow.php 文件甚至无法访问它们。

对此的任何帮助表示赞赏。

【问题讨论】:

    标签: .htaccess


    【解决方案1】:

    您可以通过检查 HTTP“Referer”请求字段来做到这一点,但这绝不会保证任何访问限制。 referer 字段很容易伪造。

    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://your-domain\.com/ [NC,OR]
    RewriteCond %{HTTP_REFERER} !videowindow\.php$
    RewriteRule \.mp4$ - [L,F]
    

    如果引用者不以您的域开头并且不以 videowindow.php 结尾,那么任何对 mp4 的访问都将导致 403 被禁止响应。

    【讨论】:

    • 如果 videowindow.php 文件有一个变量被传递给它,我该怎么办?喜欢 videowindow.php?video=path/to/video/nameofvideo.mp4
    • 好吧,我的服务器是这样的。 www.mysite.com/mainfolder/videowindow.php?video=path/to/video/video.mp4
    • @MatthewWilson 我不知道您将变量传递给您的 php 文件是什么意思,因为我不知道代码的作用。它是否读取文件并将其直接发送到浏览器?它是否创建了一个可以单击的链接?它会做其他事情吗?我这里的上下文为零...
    • 好吧,首先。即使我将您的行 !videowindow\.php$ 更改为 !index\.php$ 它甚至不会让我在 index.php 页面上查看视频。
    • @MatthewWilson 不知道 index.php 中的代码是做什么的。它是否直接链接(例如,它在页面上创建一个直接指向我可以单击的 mp4 文件的链接)?它是否从文件系统中读取并直接提供给浏览器?
    猜你喜欢
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    相关资源
    最近更新 更多