php - 禁用网络浏览器上的目录和文件列表。就像我们在 google chrome 中看到源代码中的所有列表
问题描述
我使用 PHP 作为我的后端来开发网站,它包含很多文件和目录。如果我的文件结构对第三人可见,则很容易被黑客入侵。因此有必要从用户视图中隐藏这些目录。我实际上在google上搜索了很多次,发现了一个案例
如果没有任何 index.html、index.php 之类的文件,请禁用浏览器窗口中显示的目录列表,如启用目录列表的屏幕截图。
我已经成功地摆脱了这个问题,只是将这些行包含在 .htaccess 文件中。
Options -Indexes
IndexIgnore *
现在,我真正想要的不是像这样检查后在浏览器的源代码中显示目录。
但我不想像https://www.bbc.com/这样向用户显示这些目录,我发现只有(索引)而不是其他目录。
提前致谢 ..
解决方案
如何启用目录列表取决于您运行的服务器类型。请参阅下面的示例并单击每种服务器类型以获取更多信息。
Apache:如果 apache 检测到目录中的任何文件,例如:
index.html
、index.htm
、index.php
、welcome.html
、default.php
等,它将加载它们而不显示文件列表。
可以使用DirectoryIndex
指令配置此列表。
如果没有检测到这些文件,只要为+Indexes
目录设置了选项,就会显示目录列表。例如:
<Directory /usr/local/apache2/htdocs/listme>
Options +Indexes
</Directory>
Nginx:autoindex on;
在配置文件中添加所需的目录。
IIS:在命令行中,输入:
appcmd set config /section:directoryBrowse /enabled:true
推荐阅读
- docker - DockerInstaller 任务是否会替换任何现有的已安装 Docker 版本?
- spring-security-test - 在测试中更改授权用户
- c# - 按钮颜色绑定影响大小
- c# - 将 WPF DataGrid 升级到 UWP 支持的 DataGrid
- android - 在 Flow/LiveData 中捕获异常后没有成功发射
- google-cloud-platform - 气流将最新文件从 GCS 存储桶复制到本地
- php - 如何在php中将文本文件读入具有2个分隔符的数组
- java - 我的代码未在我的 jsp 文件中显示保存在 blob 类型数据库中的图像?
- postman - 在 Postman 中验证“无法解析主机”用例
- typescript - 使用字符串枚举来扩展 keyof