Apache &引用;“的索引”;目录列表保护

Apache &引用;“的索引”;目录列表保护,apache,security,authorization,Apache,Security,Authorization,全部 在我们的服务器上,我们有一个目录“文件”,其中包含学生和教师的资料: http://sample.ru/files/4students/ http://sample.ru/files/4teacherszzz/ http://sample.ru/files/markszzz/ ... 在web浏览器中键入每个目录时,都会显示“索引/files/4students/”页面以及文件/子目录列表 但是,我们有一个问题:当学生输入http://sample.ru/files/'他可以看到所有其他

全部

在我们的服务器上,我们有一个目录“文件”,其中包含学生和教师的资料:

http://sample.ru/files/4students/
http://sample.ru/files/4teacherszzz/
http://sample.ru/files/markszzz/
...
在web浏览器中键入每个目录时,都会显示“索引/files/4students/”页面以及文件/子目录列表

但是,我们有一个问题:当学生输入http://sample.ru/files/'他可以看到所有其他文件夹!但学生不得查看教师文件(在文件夹4teacherzzz和markszzz中)

因此,我们将blank index.html放入/files/。通过键入此url,学生将看不到其他文件夹

现在,问题是:任何学生(他只知道http://sample.ru /文件/4students/'url)获取中的url列表http://sample.ru /files/(可以通过特殊键入“/files/4students/。/”等)?怎么做?如何否认这一点

问题是,我们必须离开文件夹系统——这对教师来说更方便(他们只将文件复制到服务器上的文件夹中,文件会自动出现在“索引…”页面中)


谢谢你的回复

取决于您的web服务器品牌-否。大多数品牌的普通源服务器(如Apache、IIS)都会特别小心阻止任何尝试../。。还有类似的顽皮。(请注意,一些为代理/缓存和类似的非源服务器使用而优化的服务器可能无法做到这一点)

但不管怎样,您都要非常仔细地阅读文档。请注意,大多数服务器,如Apache和IIS,都有针对这个特定问题的特定指令

看看“索引”-,即


选项-索引

请注意,减号-将非常明确地禁用索引(但要小心使用符号链接-或者也使用-FollowSymLinks)。有完整的故事

具体检查“目录指令”部分,并注意以下文字:

小心使用目录路径参数:它们必须按字面意思 匹配Apache用于访问文件的文件系统路径。 应用于特定文件的指令将不适用于文件 通过不同的路径从同一目录访问,例如通过 不同的符号链接

下面是一个例子。因此,您通常希望在较低级别上锁定(-index),然后为允许索引的学生创建一个目录(匹配)

添加index.html的技巧通常是有效的,但请注意,这只是因为mod_autoindex及时地对其进行了干扰。这并不像上面那样有保证,特别是当您的服务器中有多视图或其他本地化/国际化和类似(语言/字符集)变体时。看

希望这有帮助

Dw.

听起来像是一个问题
<Directory /something/>
   option -Indexes