将文件下载限制为登录用户(WP+Nginx)

时间:2014-05-18 作者:pereyra

我正在寻找一种方法,以限制访问mp3文件在我的网站上只有登录的用户。

列出的方法here 听起来很像我需要的:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} ^.*(mp3|m4a)$
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
RewriteRule . - [R=403,L]
除非我如何转换这些。nginx的htaccess规则?

2 个回复
最合适的回答,由SO网友:Chelsea Urquhart 整理而成

您可以这样做:

location ~ \\.(mp3|m4a)$ {
  if ($http_cookie !~ "wordpress_logged_in") {
    return 403;
  }
}
如果它的安全性真的很重要(而不是公众“明显”无法访问),那么可能还应该检查身份验证,因为无论身份验证状态如何,都可以很容易地通过HTTP请求发送WP登录cookie。

SO网友:Mikcomac

这方面的一个小小的变化对我更有效

location /wp-content/uploads/ {if ($http_cookie !~ "wordpress_logged_in") {
    return 403;
  }
}
这将阻止所有直接访问上载文件夹文件,除非登录

结束

相关推荐

多站点WordPress nginx上传的文件抛出404

我在/blog 在nginx服务器上运行的子目录。除了可以正确上传但无法通过url访问的文件外,其他一切正常。有关文件的配置部分是:location ~ ^/files/(.*)$ { try_files /blog/wp-content/blogs.dir/$blogid/$uri /blog/wp-includes/ms-files.php?file=$1 ; access_log off; log_not_found off; expires max; }&#