【问题标题】:Deny from all but allow from specific URL拒绝所有但允许来自特定 URL
【发布时间】:2014-07-15 23:55:29
【问题描述】:

我制作了一个网页来使用 html5 视频播放器播放一些视频。我不想让用户下载视频文件,所有视频都将以 .mp4 扩展名保存。一般用户是不能下载的,但是如果对html编程有一定的了解的话,通过浏览源代码,复制直接的视频URL就可以轻松下载了。我尝试了下面的 htaccess 代码来防止视频文件被下载,它也可以工作,但似乎即使在我想播放它们的网页中也不允许播放。

我尝试过的代码

<FilesMatch "\.(mp4)$">
    Order deny,allow
    Deny from all
    Allow from localhost/t/v.php
</FilesMatch>

在这里,我只想允许 localhost/t/v.php 访问这些视频并拒绝其他任何内容。但它似乎不起作用。

【问题讨论】:

  • localhost 更改为127.0.0.1 看看是否可行? (不过,我不确定这是否重要。)
  • @AmalMurali 我认为确实如此。
  • 但是在网站发布之后?

标签: php .htaccess


【解决方案1】:

更改顺序。 Order allow,deny 将首先处理 allow 指令,然后是 deny 指令。

【讨论】:

  • 服务器将尝试在其中一个规则中找到匹配项;它将在第一场比赛停止;如果您确实命令允许,则拒绝它将首先尝试允许规则。问题是来自 .../v.php 的请求匹配两个规则,所以顺序很重要。
  • 或者我们可以让它有条件吗?就像如果会话'abc'或cookie'abc'存在则允许否则不存在。
猜你喜欢
  • 2016-04-18
  • 1970-01-01
  • 2018-04-16
  • 1970-01-01
  • 2011-07-02
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
  • 1970-01-01
相关资源
最近更新 更多