“索引......”目录列表保护

时间:2012-02-22 11:34:44

标签: apache security authorization

所有!

在我们的服务器上,我们有一个目录'文件',上面有学生和老师的资料:

http://sample.ru/files/4students/
http://sample.ru/files/4teacherszzz/
http://sample.ru/files/markszzz/
...

当您在网络浏览器中输入每个目录时,会显示“索引/ files / 4students /”页面,其中包含文件/子目录列表。

但是,我们遇到了问题:当学生输入'http://sample.ru/files/'时,他可以看到所有其他文件夹!但是学生不能看到教师档案(在文件夹4teacherzzz和markszzz中)。

因此,我们将空白的index.html放入/ files /。通过输入此网址,学生无法看到其他文件夹。

现在,这是一个问题:任何学生(他只知道'http://sample.ru / files / 4students /'url)都可以获得'http://sample.ru / files /'中的网址列表(可以通过特殊输入'/files/4students/../'等等)?如何?以及如何否认这一点?

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

感谢您的回复!

1 个答案:

答案 0 :(得分:2)

取决于您的网络服务器品牌 - 没有。大多数品牌的普通原始服务器(如Apache,IIS)都会特别小心崩溃任何尝试......和类似的顽皮。 (请注意,一些针对代理/缓存和类似的非原始使用优化的服务器可能不会这样做。)

但无论您是否想要仔细阅读文档。请注意,大多数服务器(如Apache和IIS)都针对此特定问题指定了特定的指令。

查看“索引” - .i.e。

<Directory /something/>
   option -Indexes

...

注意减号 - 将非常明确地禁用索引(尽管注意符号链接 - 或者也使用-FollowSymLinks)。 http://httpd.apache.org/docs/2.0/mod/core.html有完整的故事。

专门检查“目录指令”部分并注明文本:

  

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

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

添加index.html的技巧通常有效 - 但请注意,这只是因为mod_autoindex及时对其进行了调整。这不如上所述 - 特别是当您在服务器中具有MultiViews或其他本地化/国际化和类似(语言/字符集)变体时。请参阅http://httpd.apache.org/docs/2.2/mod/mod_autoindex.html

希望这有帮助,

DW传递。