IIS 5 aspx 페이지에 대해 만들어진 잘못된 또는 http 포스트 데이터 요청을 인식 할 수있는 응용 프로그램 논리를 작성하고 있습니다. 잘못된 요청을 종료하는 가장 효율적인 방법은 무엇입니까?ASPX 웹 요청을 종료하는 가장 효율적인 방법
잘못된 요청이 식별되면 버퍼링 된 출력이없고 C# 함수 종료 스택이 얕습니다.
현재 나의 직감은 response.End()의 스레드 종료 예외와 함께, 204 번의 "내용 없음"응답보다 DOS 공격 상황에서 더 파괴적 일 수 있다는 점입니다.
내 사이트에서 수행하는 작업에 대한 견해를 말하면 모든 aspx 히트는 DB 쿼리 활동이 10ms에서 300ms로 발생하므로 0.5ms 내에 일반 204 응답으로 조작 된 요청에 응답하면 큰 절약 효과를 나타냅니다.
좋아, 재미 나는 II7에서 뭔가 새로운 것을이었다 C#을 IIS 요청 파이프 라인 처리기에서 배관을 생각했다. (Amazon EC2 VM 인스턴스에서 Windows 2003을 사용하고 있습니다.) 어쨌든 일반적인 차단 보안 포인트의 장점을 볼 수는 있지만 잘못된 요청을 효율적으로 종료하는 방법에 대한 질문은 여전히 남아 있습니다. Request.Close()는 기본 소켓을 압축합니다. –
닫기 오버 헤드에 관심이 있다면 막 다른 정적 html 페이지로 요청을 리디렉션하십시오. – ryber
@ryber는 "요청을 막 다른 정적 HTML 페이지로 리디렉션합니다." Ooo no, response.Redirect()는 의심스러운 DOS 공격 중에 내가하고 싶은 마지막 예외를 트리거합니다. –