我有一个脚本,其中主要组件存储在子文件夹中。所有组件只能从充当控制器的 index.php 访问。在考虑如何从公共访问/可见性中隐藏组件文件夹时,我得到了 2. 考虑到的选项:
- 在每个目录中使用 .htaccess 来传递 403 禁止错误。
使用以下 php 脚本和“假”404 HTML 消息在每个文件夹中放置一个 index.php。
header('HTTP/1.0 404 Not Found');
我尝试了这两个选项并使用 OWASP ZAP 进行了扫描。对于第一个选项,可以获得脚本的整个结构,因为对于每个系统文件夹,都会提供 403。使用第二个选项,OWASP 无法为我提供脚本文件夹列表,因为 404 告诉它没有文件夹。
现在我不知道这些方法中哪种方法最好,htaccess 会阻止所有访问,但是使用假的 404,您甚至看不到有目录。
有没有办法让 .htaccess 的安全性和交付的 404 的良好混淆?
编辑:对不起,我忘了提,由于服务器限制,我无法将组件移动到可访问的脚本路径之外!