假设有一个网站www.example.com/user/john
。访问该链接会转到www.example.com/user/john/index.html
。
有www.example.com/user/john/picture.png
和www.example.com/user/john/document.html
等文件。这些也可供公众访问,但index.html
没有与这些链接相关联。
有没有系统的方法来找出这些文件?我问的是因为我要设置我的网站,而且我还想提出一些我不一定希望每个人都能看到的文件,只有那些我提供链接的人。所以我想知道我的目录中存在这些文件是多么容易/多难。
答案 0 :(得分:1)
最重要的是,您必须关闭使用浏览器浏览目录的可能性。每个服务器都有自己的方法来关闭它。然后你可以使用“暗示安全”的提议方式。
另一种方法是,让一个特定的文件夹访问受到http基本身份验证的限制。这可以在.htaccess文件中配置,该文件放在您希望仅与特定人员共享的目录的根文件夹中。
只需google“.htacces”和“基本身份验证”。
答案 1 :(得分:1)
HTTP不提供这样的目录列表方法。如果索引文件(如index.html)不存在,则可以将大多数Web服务器设置为提供HTML格式的目录列表。如果您提供索引文件以便不会发生自动索引(或者如果您通过Web服务器配置禁用自动索引),和如果您的“隐藏”文件名很难猜测,那么它们应该很难找。我有时会在具有随机乱码名称的目录中发布此类文件。
Dropbox,Picasa和其他服务使用的“共享链接”也是如此,它们只是在URL中使用较长的随机文件/目录名称或随机参数。为了提供真正的安全性,您需要设置https(SSL / TLS),以便网络上的任何窃听者都无法轻松查看请求的URL以及身份验证,例如使用用户名/密码进行HTTP基本身份验证。对于不太敏感的东西,http到随机隐藏目录通常会很好。