使用协议HTTP列出Web目录中的所有文件名(上载)

时间:2010-07-17 03:38:00

标签: php security http ftp download

我正在尝试列出特定网络目录中包含的所有文件(.DOC和.PDF)。

问题是我没有访问权限。我只能使用文件的完整路径下载。

示例:

目录1:http://xxx.example.com/uploads/local20/40

文件:

45677.pdf

54354.doc

65767.doc

54354.pdf

43243.pdf

...

目录2:http://xxx.example.com/uploads/local20/41

文件:

45453.pdf

67566.pdf

89798.pdf

89898.doc

52254.pdf

...

我可以手动下载目录40和41的文件,因为我知道你的路径 写: http://xxx.example.com/uploads/local20/40/65767.doc(下载 - >确定)

但是如何在不知道文件名的情况下下载该目录中包含的所有文件?或者至少列出所有文件的名称。

Obs 1:当我只键入目录(没有文件名)时,它返回XML格式的错误。例如:http://xxx.example.com/uploads/local20/40/

响应:XML错误

...

NoSuchKey

...

Obs2:Web应用程序使用PHP语言。

1 个答案:

答案 0 :(得分:0)

当您使用网络浏览器浏览该文件夹时,为了使文件夹中的文件以html格式列出,您必须turn on directory browsing in your Apache configuration并确保没有默认页面(例如。index.php)在该文件夹中。不要忘记在进行更改后重启Apache。

BTW:如果这是一个可以上传文件的文件夹,那么它确实不应该直接公开访问,因为你手上会有一个非常重要的安全漏洞。有人可以上传恶意PHP脚本,然后只需在浏览器中点击URL即可运行它。