2016-06-27 2 views
0

webapp에서 요청을 읽을 수있는 Apache Tomcat 서버가 있습니다. 내 웹 애플리케이션에서post 매개 변수를 무시하는 Tomcat 요청

내가 제출 양식을 가지고 주위, 8K ~

를 POST 매개 변수의 큰 숫자를 게시 그러나 나는 HttpServletRequest의, 나는 항상 정확히 6841.을받는 엔트리 포인트를 디버깅 할 때 양식의 입력은 여러 요소를 반복하여 작성되므로 마지막 요소는 다른 요소와 동일한 형식입니다.

NDA 이유로 코드를 표시 할 수 없습니다. 스니퍼로 인해 전체 게시물 매개 변수 목록이 전송되었음을 알 수 있었기 때문에 프론트 엔드를 문제로 버렸습니다.

나는 올바른 방향으로 가고 있다고 생각합니다. Tomcat이 다른 게시 매개 변수를 삭제하고 있다고 생각합니다. 게시물 크기 제한은 요청 크기를 훨씬 상회하며 server.xml에 구성된 게시 후 매개 변수 수가 없습니다 (기본값은 10,000이고 그 값은 기록되지 않습니다).

내가 찾은 모든 대답은 매개 변수를 보내지 않거나 던져진 오류에 관한 것으로,이 경우 Tomcat이 단순히 무시합니다.

+0

이 경우에는 톰캣 코드 자체를 디버깅하는 것이 좋습니다. – DiogoSantana

+0

6841 미만으로 작동하는지, 5k POST 매개 변수를 가정 해 봅시다. –

+0

@AlexBaban 예, 2, 3, 4, 5k, 2k. 그 홀수가 6841 –

답변

1

POST 매개 변수 수 (게시 크기 아님)를 20,000으로 늘리면 문제가 해결됩니다. 이것은 maxParameterCount를 사용 톰캣 server.xml 구성으로 이루어졌다 :

maxParameterCount 특성 파싱 요청에 저장 될 수 파라미터 및 값 쌍 (GET 플러스 POST)의 최대 수를 제어한다. 과도한 매개 변수는 무시됩니다. 에서 이러한 요청을 거부하려면 FailedRequestFilter를 구성하십시오.

+0

server.xml의 새 매개 변수/속성 값을 포함하는 것이 도움이 될 수 있습니다. – Leigh

+0

이 연령을 추가해야하지만 완료되었습니다. –

+0

감사. 가장 늦은 시간 :-) – Leigh

관련 문제