programing

X-Powered-By: ASP와 같은 IIS 사용자 정의 헤더를 삭제하는 방법응답에서 NET?

javamemo 2023. 8. 18. 20:39
반응형

X-Powered-By: ASP와 같은 IIS 사용자 정의 헤더를 삭제하는 방법응답에서 NET?

IIS 7.0 integrated mode모든 헤더를 삭제한 후Response.ClearHeaders()IIS는 다음과 같은 다른 헤더를 추가합니다.Server그리고.X-Powered-By해커들에게 좋은 정보를 알려주는 것입니다.사용자 지정 헤더를 추가해야 하는 경우 이 동작을 중지하려면 어떻게 해야 합니까?

웹에 추가할 수 있습니다.구성:

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <remove name="X-Powered-By" />
        </customHeaders>
    </httpProtocol>
</system.webServer>

업데이트: 만약 당신이 MVC 프레임워크를 사용하고 있다면, 나는 또한 제거하는 것을 추천합니다.X-AspNetMvc-Version그리고.X-AspNet-Version헤더도 포함합니다.이 작업은 다음을 설정하여 수행합니다.MvcHandler.DisableMvcResponseHeader = true당신의Global.asax파일 및<system.web><httpRuntime enableVersionHeader="false" /></system.web>당신의Web.config각각 다음과 같다.

X-Powered-By는 IIS 내에서 구성됩니다.Windows 7(윈도우 7)에서는 특히 다음과 같습니다.

  1. IIS 관리자
  2. 컴퓨터 이름 > 사이트 > 기본 웹 사이트
  3. HTTP 응답 헤더
  4. 제거한다.X-Powered-By

나는 무엇이 생성하는지 확신할 수 없습니다.Server그래도 헤딩은.

IIS7+ 통합 모드의 경우 eth0은 다음과 같습니다.<customHeaders>web.config에 태그가 있습니다.감사합니다."서버" 헤더의 경우 MVC를 사용하는 경우 다음을 간단히 추가할 수 있습니다.

    protected void Application_PreSendRequestHeaders()
    {
        Response.Headers.Remove("Server");
    }

Global.asax의 MvcApplication 클래스로 이동합니다.그렇지 않으면 사용자 지정 Http 모듈을 추가하여 PreSendRequest를 처리할 수 있습니다.헤더 이벤트 및 동일한 작업을 수행합니다.

ASP를 위해 여기에 그것을 추가하고 싶습니다.더 이상 web.config 파일이 없는 NET Core 버전은 다른 접근 방식이 필요합니다.

ASP에서 헤더를 제거하기 위해 다음과 같이 조정했습니다.NET Core 2.1:

x-powered-by 헤더는 다음과 같이 대체하여 제거할 수 있습니다.

<customHeaders>
        <clear />
        <add name="X-Powered-By" value="ASP.NET" />
</customHeaders>

와 함께

<customHeaders>
        <remove name="X-Powered-By" />
</customHeaders>

프로젝트의 .vs\config 폴더에 있는 applicationhost.config 파일에 있습니다.

다음을 추가하여 서버 헤더를 제거할 수 있습니다.

.UseKestrel(c => c.AddServerHeader = false)

Program.cs 파일에 있습니다.

다음 답변에는 URLscan 또는 사용자 지정 HttpModule이 필요하지 않고 사용자가 언급한 모든 관련 헤더를 제거하는 전체 솔루션이 포함되어 있습니다.Azure에서도 작동합니다.

Azure/에서 과도한 HTTP 응답 헤더 제거/숨기기/사용 안 함UrlScan이 없는 IIS7

URL을 사용하여 서버 헤더를 제거하거나 다른 서버 헤더인 http://learn.iis.net/page.aspx/938/urlscan-3-reference/ 을 구성할 수 있습니다.

하지만 해커가 실제로 무엇을 사용하는지 아는 것을 막지는 못합니다.서버 정보를 탐지할 수 있는 다른 방법이 분명히 있습니다.

appcmd.exe(IIS 7 이상)를 사용하여 작업을 수행할 수 있습니다.스크립트는 다음과 같습니다.

C:\Windows\System32\inetsrv\appcmd.exe set config -section:system.webserver/httpProtocol /-customHeaders.["name='X-Powered-By'"] /commit:apphost  

/commit:apphost그러면 구성 설정이 ApplicationHost.config 파일의 해당 위치 섹션에 커밋됩니다.

저는 보통 애플리케이션이 설치된 후 웹 서버에서 실행하는 모든 스크립트의 배치 파일을 만듭니다.

ASP용.NET MVC 애플리케이션은 접근 방식이 다르며 여기에 제시된 다른 답변을 참조할 수 있습니다.

언급URL : https://stackoverflow.com/questions/4078756/how-to-delete-iis-custom-headers-like-x-powered-by-asp-net-from-response

반응형