最近我为我的网站更换了一台服务器。在我使用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;
}
答案 0 :(得分:0)
虽然你可以这样做:
if ($http_referer = "") { return 403; }
在你的nginx位置内,如果条件不是推荐的事情(参见If is Evil)。
今天的标准做法是将受限制的文件放在Web服务器根文件夹之外(不管它是什么 - Apache或nginx),并通过可以执行任何操作的服务器端脚本来提供文件想要 - 不仅要检查引用者,还要检查用户会话或身份验证。