可以将Apache配置为允许浏览器中的JS获取服务器目录内容吗?

时间:2016-03-01 11:19:06

标签: javascript apache mod-autoindex

如果我的Apache DocumentRoot 目录中有一个图像目录,我想在我的网站上找到JavaScript以了解该目录中可用的图像,我看到它有两个选项:

  1. 从服务器端脚本中提供这些图像的列表 检查目录并返回其中的项目列表。
  2. 使用服务器上的脚本/可执行代码在该目录中构建文件(例如“contents.js”)。该文件将列出文件 包含在目录和前端的JS上就可以了 访问此文件。
  3. 但是,是否可以配置Apache以提供对该目录的访问,以便JS可以向服务器请求目录内容?也许使用mod_autoindex或更整洁的东西?有没有人这样做过?

    我实际上并不想将它用于图像,所以这只是一个假设的例子。

    由于

1 个答案:

答案 0 :(得分:1)

Javascript只能通过HTTP与服务器通信。没有秘密的后门或任何“获取目录内容”。 Apache必须提供某些文档,Javascript可以解释该文档以传达目录中的文件。

可以配置Apache来提供目录列表,但是这些通常是您需要在Javascript中解析以从中提取信息的HTML页面。并非不可能,但肯定不优雅。此外,这些目录列表是可见的,并且必要时公开提供给任何人(好吧,任何解决方案都会公开公开这些信息,没有办法解决这个问题)。

使用JSON数据或XML数据,Javascript可以更轻松地工作。我不知道任何Apache mod在JSON中输出目录列表。因此,从尝试获取该数据的Javascript文件的角度来看,让服务器端REST端点提供自定义JSON(或者只是一个静态.json文件,根据需要更新)是一个更优雅的解决方案。