我需要保护/app
目录及其文件不被探测。我尝试在<hiddenSegment>
文件中使用web.config
并且它运行良好...除了当我添加IIS自定义错误页面时,它不起作用。
.
├── app
│ ├── template
│ │ ├── footer.php
│ │ ├── header.php
│ │ └── index.php
│ ├── error-handler.php
│ ├── footer.php
│ └── header.php
├── template
│ ├── css
│ └── js
└── web.config
需要隐藏整个/app
目录;其内容必须安全无法探测。
web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpErrors errorMode="Custom">
<remove statusCode="404" />
<error statusCode="404" prefixLanguageFilePath="" path="/app/error-handler.php" responseMode="ExecuteURL" />
<remove statusCode="403" />
<error statusCode="403" prefixLanguageFilePath="" path="/app/error-handler.php" responseMode="ExecuteURL" />
</httpErrors>
<security>
<requestFiltering>
<hiddenSegments>
<add segment="app" />
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
</configuration>
我一直在努力尝试同时隐藏/app
目录并使IIS在/app/error-handler.php
中提供错误处理程序。非常感谢任何帮助。
答案 0 :(得分:0)
如何在app文件夹(myFolder)下创建另一个文件夹,并将除error_handler.php之外的所有内容移动到该新文件夹(myFolder)中,并相应地调整Hiddensegments标记。这可能需要对您的代码进行一些调整。
或者只是将error-handler.php移动到一级并相应地调整CustomErrors标记。不确定它是否会破坏任何东西。