如何在php中限制文件夹内容列表[重复]

Posted

技术标签:

【中文标题】如何在php中限制文件夹内容列表[重复]【英文标题】:How to restrict folder content listing in php [duplicate] 【发布时间】:2017-12-18 07:35:42 【问题描述】:

我有一个用 php 开发的 Web 应用程序。 我的要求是阻止包含上传文件的文件夹。 例如,如果用户单击应用程序上的文档链接,它应该打开 http://localhost:1987/enterprise_resource_planning/uploads/students/documents/1499866795_100_100.pdf 如果用户在 url 下面执行,它应该阻止 http://localhost:1987/enterprise_resource_planning/uploads/students/documents/ 我已经尝试使用 Deny from all 的 .htaccess ,但它阻止了一切。 这个场景有什么解决方案吗?

【问题讨论】:

deny from all - 这就是它阻止所有内容的原因,您需要将服务器文件和文件夹设置为某些权限和用户组,并使用 htaccess 进行限制 - 但不要使用全部拒绝 您的意思是,您不想查看所有文件的列表? 在包含Options -Indexes的文件夹中可能有一个.htaccess 是的。如果我执行localhost:1987/enterprise_resource_planning/uploads/students/…,我不想在网络浏览器上看到列表 与php相关的唯一方法是在上传的文件夹中创建index.php 【参考方案1】:

可能的解决方案:

在目录中放置一个文件 index.html 或 index.php 在你的httpd.conf中定义Options -Indexes 将该行放在 .htaccess 中

我个人更喜欢第二行。几乎没有用于向浏览者自动列出文件的用途。

【讨论】:

以上是关于如何在php中限制文件夹内容列表[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用php更改最大文件大小限制[重复]

我无法上传大于 8 mb 的文件 [重复]

php源码分析 require_once 绕过不能重复包含文件的限制

MySQL的66kb行限制怎么办[重复]

如何在php 7中增加内存限制[重复]

如何通过php和MySQL创建xml文件[重复]