Нужно ограничивать длину принимаемого от пользователя POST multipart запроса (форма с полями и файлом). При превышении длины обрубать поток.
Настройка maxPostSize у коннектора не помогает, она влияет только на длину разбираемых в классе org.apache.catalina.connector.Request параметров.
Рытьё в исходниках томкэта не помогло.
Здравствуйте, Aib, Вы писали:
Aib>Здравствуйте, ganichev, Вы писали:
G>>Проверено в Tomcat 6.0.24, 26. Windows 7, server 2003. Коннекторы http11, ajp1.3
Aib>Либо взять commons-upload, либо посмотреть просто как там это сделано.
В commons-upload это никак не сделано. Он на том же уровне, что и сервлет работает. Всё, что он умеет — кидать эксепшн после вычитки заданной длины из request.getOutpuStream();
Tomcat после этого с аппетитом дочитывает входящий от клиента поток до конца.
Re[4]: Tomcat. Ограничение длины multipart запроса.
G>>>Проверено в Tomcat 6.0.24, 26. Windows 7, server 2003. Коннекторы http11, ajp1.3
Aib>>Либо взять commons-upload, либо посмотреть просто как там это сделано.
G>В commons-upload это никак не сделано. Он на том же уровне, что и сервлет работает. Всё, что он умеет — кидать эксепшн после вычитки заданной длины из request.getOutpuStream(); G>Tomcat после этого с аппетитом дочитывает входящий от клиента поток до конца.
getInputStream(), конечно.
Re[5]: Tomcat. Ограничение длины multipart запроса.
G>>>>Проверено в Tomcat 6.0.24, 26. Windows 7, server 2003. Коннекторы http11, ajp1.3
Aib>>>Либо взять commons-upload, либо посмотреть просто как там это сделано.
G>>В commons-upload это никак не сделано. Он на том же уровне, что и сервлет работает. Всё, что он умеет — кидать эксепшн после вычитки заданной длины из request.getOutpuStream(); G>>Tomcat после этого с аппетитом дочитывает входящий от клиента поток до конца.
G>getInputStream(), конечно.
Тогда не понял почему maxPostSize не помогает? Он обрубает столько сколько надо.
Если охота изъебнуться то можно через reflection поискать этот объект, но это жесткая заточка под томкат (можно это потом закоммитить в commons-upload и все скажут спасибо я думаю)