防止直接访问PDF文件 - Nginx

时间:2016-06-08 22:24:25

标签: linux pdf nginx server

最近我为我的网站更换了一台服务器。在我使用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;
}

1 个答案:

答案 0 :(得分:0)

虽然你可以这样做:

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

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

今天的标准做法是将受限制的文件放在Web服务器根文件夹之外(不管它是什么 - Apache或nginx),并通过可以执行任何操作的服务器端脚本来提供文件想要 - 不仅要检查引用者,还要检查用户会话或身份验证。