【问题标题】:Prevent direct access to PDF files - Nginx防止直接访问 PDF 文件 - Nginx
【发布时间】:2016-10-09 09:32:12
【问题描述】:

最近我为我的网站更换了服务器。在我使用 Apache 服务器之前。现在我的网站在 Nginx 服务器上运行。这就是我不能再使用.htaccess 的原因。

我想通过在浏览器中键入文件的链接来阻止用户打开某些 pdf 文件。我希望他们能够通过单击我网站上文件的链接来打开文件。到目前为止,我使用了下面的代码;它在防止盗链图像方面效果很好,但不妨碍直接访问 pdf 文件。

location ~ /folder/with/pdffiles/(.+\.(?:jpg|pdf|jpeg|gif|png|bmp|ic$

valid_referers none blocked server_names *.mydomain.com mydomain.* ~\.mydomain\.;
       if ($invalid_referer) {
         return 444;
        }
        try_files $uri @ghost;
}

【问题讨论】:

  • 你能复制你的位置指令的其余部分吗?

标签: linux pdf nginx server


【解决方案1】:

虽然你可以这样做:

if ($http_referer = "") { return 403; }

在您的 nginx 位置内,如果条件不是推荐的事情(请参阅If is Evil)。

今天的标准做法是将受限制的文件放在网络服务器根文件夹之外(不管它是什么 - Apache 或 nginx),并通过可以做任何你想做的任何事情的服务器端脚本来提供文件 -不仅检查推荐人,还可能检查用户会话或身份验证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多