【发布时间】:2020-06-18 00:44:48
【问题描述】:
我知道那里有很多类似的问题,我已经全部搜索过了,但我似乎无法找到任何有效的解决方案。
我的网站根目录中有一个文件夹,其中包含用户登录时可以从该网站查看和下载的上传文件。它们在这里:https://example.com/uploads(例如)。我需要网站继续能够访问它们以显示它们(有些是图像)并提供下载链接(pdf 等),以便用户可以下载它们,但我想避免任何人掌握 a 的 url可以直接下载它们的特定文件,例如:https://example.com/uploads/2020/02/myfile.pdf。或者这些 url 进入搜索引擎(或者如果它们进入,服务器会阻止它们被直接访问。
我尝试在上传目录中添加一个 .htaccess 文件,内容如下:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
我试过了
Order Allow,Deny
Deny from all
Allow from 127.0.0.1
...据我所知,这可能允许来自站点本身以及本地 url 的 HTTPS 调用。
但是它禁止站点和直接的url请求,这不好。
有没有办法做到这一点?
【问题讨论】:
-
图片不是由您的站点“请求”的,它们仍然是由用户的浏览器请求的。所以这些请求不会来自
127.0.0.1 -
好吧,我想当你这样说的时候它是有道理的,是的......那么有没有办法将两者分开?
-
"...当用户登录时" - 那么,这些文件当前是否受到某种用户身份验证的保护?虽然,从它的声音来看,它们还没有而且仍然是公开的?他们大概没有链接到面向公众的网页?
-
提供对文件的“官方”访问权限的用户界面具有用户身份验证,是的,但是文件仍然存在于目录中,如果知道 url,则不会阻止任何人访问它们。这有意义吗?