Как предотвратить прямой доступ к пользовательским страницам ошибок? - PullRequest
0 голосов
/ 13 февраля 2020

Как отключить прямой доступ к моей пользовательской странице ошибок, которая реализована с помощью сервлета?

web.xml:

<web-app ...>
    <!-- ... -->

    <servlet>
        <servlet-name>ErrorPage</servlet-name>
        <servlet-class>org.example.ErrorPage</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>ErrorPage</servlet-name>
        <url-pattern>/custom-error-page</url-pattern>
    </servlet-mapping>

    <error-page>
        <location>/custom-error-page</location>
    </error-page>
</web-app>

Эта конфигурация работает для отображения страниц ошибок, когда есть ошибки. Тем не менее, я могу получить прямой доступ к странице ошибки (например, на http://localhost:8080/myapp/custom-error-page), что нежелательно. Есть ли способ предотвратить прямой доступ к странице ошибки?

Чтобы решить эту проблему, я подумал о переносе кода из org.example.ErrorPage в файл JSP (например, errorpage.jsp), помещенный в * Каталог 1012 * и настройка web.xml с помощью:

<error-page>
    <location>/WEB-INF/errorpage.jsp</location>
</error-page>

Хотя это успешно предотвращает прямой доступ пользователей к странице ошибки, это не идеально, поскольку файл JSP будет засорен большим количеством Java код.

Как я могу запретить пользователям прямой доступ к страницам ошибок?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...