假设,你有一个web服务器,你并不想配置复制的 authentication 的机制,只是想达到share了link的人可以访问的方式,那么其实利用系统的文件夹权限,就可以办到。
你可以建立这样一个文件夹结构:
/srv/www/private/share
然后你可以将 private 目录设置成 –x 权限。
这样,在web服务器开启 index 的时候,浏览 /srv/www 时并不会列出 private 目录(注意如果你实际在系统上进行 ls 的话是可以列出的,应该是具体 webserver 在实现时的决定,至少 apache 是这样),直接访问 /srv/www/private 会返回 403,但是你依然可以直接访问 /srv/www/private/share ,因为 x 在目录上的意义是授予访问目录中内容的权限。
这样就简单的实现了「分享给知道链接的人」的功能。
至少nginx直接有类似的选项吧… (列出目录内容什么的)
更好的方法是通过 RedirectMatch 让它返回 404 而不是 403
Apache可以直接 Options -Indexes FollowSymLinks 禁止列目录喵