获取Nginx HttpSecureLinkModule 403';他在工作

获取Nginx HttpSecureLinkModule 403';他在工作,nginx,download,php,Nginx,Download,Php,我试图得到一个坏的(?)视频工作脚本,我有问题得到403的返回,如果直接链接使用,而不是过期链接 我目前可以得到URL的安全/隐藏和到期这样; domain.org/media/X2lkdmFSZHZ1MU40dmhnM3E0V2lNQQ,1370948784/flv/38.flv 文件位于/home/srv/public_html/media/videos/flv下 但是,如果您仍然知道正确的路径,则可以直接从URL获取视频文件; domain.org/media/视频/flv/38.flv

我试图得到一个坏的(?)视频工作脚本,我有问题得到403的返回,如果直接链接使用,而不是过期链接

我目前可以得到URL的安全/隐藏和到期这样; domain.org/media/X2lkdmFSZHZ1MU40dmhnM3E0V2lNQQ,1370948784/flv/38.flv

文件位于/home/srv/public_html/media/videos/flv下

但是,如果您仍然知道正确的路径,则可以直接从URL获取视频文件; domain.org/media/视频/flv/38.flv

下面是创建安全链接和为flv文件提供渐进流的代码的相关部分

$config['nginx_key'] = 'TOPSECRET';
$config['nginx_prefix'] = '/media/';

$file_sd = '/flv/' .$video_id. '.flv';
$time = time()+ 3600;
$md5hash_sd = md5($time . '.' . $file_sd .'.' . $config['nginx_key'], true);
$md5hash_sd = str_replace('=', '', strtr(base64_encode($md5hash_sd), '+/', '-_'));

// return result
$SD_URL = $config['BASE_URL'].$config['nginx_prefix']. $md5hash_sd . ',' .$time .$file_sd;

result; domain.org/media/X2lkdmFSZHZ1MU40dmhnM3E0V2lNQQ,1370948784/hd/38.mp4
这些是nginx规则

location ~ ^/media/(?<secure>[\w\-=]+,\d+)(?<file>/.*\.flv)$ {
secure_link $secure;
secure_link_md5 $secure_link_expires.$file.TOPSECRET;
if ($secure_link = "") { return 403; }
if ($secure_link = "0") { return 410; }
alias  /home/srv/public_html/media/videos$file;
flv;
}
location~^/media/(?[\w\-=]+,\d+(/*\.flv)${
安全链接$secure;
secure_link_md5$secure_link_过期。$file.TOPSECRET;
如果($secure_link=”“){return 403;}
如果($secure_link=“0”){return 410;}
别名/home/srv/public_html/media/videos$文件;
flv;
}
我的问题是,如果有人试图直接访问flv文件,而不是最终将过期的安全链接,有人能看到我怎么不能返回403。 403是唯一似乎不起作用的部件

谢谢你抽出时间。 -D.R

加上这个

location ~ /media/(.+)\.flv$ {
root /srv/www/public_html;
deny all;
}
# use fastcgi for all php files
location ~ \.php$ {
...
这将阻止指向任何.flv文件的直接链接,同时允许脚本正常生成哈希URL

-好的
-拒绝403。

这只拒绝目录访问,而不拒绝文件本身的URL。
location ~ /media/(.+)\.flv$ {
root /srv/www/public_html;
deny all;
}
# use fastcgi for all php files
location ~ \.php$ {
...