В настоящее время я изменяю приложение, которое я создал с помощью JSF. Для некоторого фона о том, что я делаю, читайте ниже.JSF 2.0 web.xml код состояния страницы ошибки
фон
Acunetix сканирования обнаружения проблемы безопасности среды под названием «Применение сообщение об ошибке» в большинстве моих страниц, когда он манипулирует значение javax.faces.ViewState. Сканирование Acunetix изменяет состояние представления на случайное значение или пустую строку, которая заставляет мое приложение создавать исключение. Исключения попадают на страницу пользовательских ошибок, используя следующую конфигурацию в файле web.xml.
<error-page>
<error-code>500</error-code>
<location>/unhandled.xhtml</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/unhandled.xhtml</location>
</error-page>
Это работает по назначению и отображается страница с пользовательскими ошибками. Тем не менее, Acunetix scan рассматривает это как уязвимость, потому что он видит код состояния 500 в заголовке с сообщением об ошибке Internal Server Error.
Acunetix Отрывок сканирования
/webapp/login.xhtml
Details
URL encoded Post input javax.faces.ViewState was set to
Error message found: Internal Server Error
Вопрос:
Можно ли изменить код состояния страницы ошибки 200 вместо 500. Если не может кто-нибудь предложить работу вокруг этой воли позвольте мне манипулировать кодом состояния страницы.
Примечание:
Пожалуйста, обратите внимание, что им с помощью следующих механизмов Spring, JSF 2.0, Primefaces 3.4, Hibernate, Omnifaces (FacesEceptionFilter & FullAjaxExceptionHandlerFactory), 7-сервер Tomcat.
Спасибо за вашу помощь ...
Я так не думаю, но самый очевидный вопрос: вы пробовали? То есть, вы изменили 200 до 500 в web.xml? Если да, то это имело желаемый эффект? – EJK
@EJK спасибо за комментарий, но то, что я на самом деле хочу (как обходное решение), для страницы с ошибкой имеет ответный заголовок 200, поскольку он в настоящее время находится на уровне 500. –
@EJK В любом случае я заменил код ошибки на 200 и удалил java .lang.Throwable, поэтому я могу попробовать ваше предложение. Я просто перенаправлен на 404 по умолчанию не на мою страницу пользовательских ошибок, потому что код ошибки не соответствует. –