2017-12-04 1 views
0

웹 서버의 디렉토리를 방문하려고하면 403 메시지가 표시되지만 일반적으로 404 메시지를 얻는 것이 바람직하지만 사용자가 제공하지 않는 것이 좋습니다. 해커가 폴더가 있다는 단서. 웹 사이트의 디렉토리 검색을 중지하고 기본 문서도 허용하는 방법

은 내가이 문제에 대한 궁극적 인 해결책을 발견했다고 생각 -의 web.config의 system.webServer이를 추가하여 : 디렉토리를 방문 할 때

<handlers> 
    <add name="StopDirectoryBrowsing" path="*." resourceType="Directory" verb="*" type="System.Web.HttpNotFoundHandler" preCondition="integratedMode" /> 
</handlers> 

이 올바르게 (404)를 발생시킵니다.

그러나 슬프게도 최상위 수준의 기본 문서 메커니즘을 사용하지 않습니다.

누구나 기본 문서가 작동하지만 하위 디렉토리를 보호 할 수있는 변형을 제안 할 수 있습니까?

답변

1

이 실제로 상태 코드가 반환 변경되지 않습니다하지만 당신은 <customErrors>을 사용처럼로 리디렉션 할 수 있습니다 : 당신이 원한다면

<customErrors mode="RemoteOnly" defaultRedirect="~/redirect/error-status.aspx"> 
    <error statusCode="403" redirect="~/redirect/access-denied.aspx" /> 
    <error statusCode="404" redirect="~/redirect/file-not-found.aspx" /> 
</customErrors> 

당신은 하나의 페이지로 모든 상태 코드를 리디렉션 할 수 있습니다.

+0

리디렉션 디렉토리는 완전히 당신에게 달려 있습니다. 당신이 그것을 만들고 거기에 사용자 정의 페이지를 넣을 수 있습니다. 원하는 경우 .html 페이지 수 있습니다. – wazz

+0

감사합니다, 나는 그것을 줄 것이며 다시보고 할 것입니다. – user2728841

관련 문제