На клиентском сайте не создается трассировка стека для NullPointerException?

Я изучаю Java около месяца и не очень хорошо знаком с ситуацией клиент / сервер, подобной этой.

В основном я столкнулся с ситуацией, когда наше клиентское программное обеспечение Java (GUI) отображало всплывающее окно с нулевым указателем, но не было трассировки стека на стороне клиента. Кто-то должен был проверить серверную часть на предмет трассировки стека.

У меня вопрос: не должна ли клиентская сторона тоже получать эту ценную информацию? Нормальны ли подобные ситуации, если причина в том, что нужна только одна копия трассировки стека?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
929
2

Ответы 2

Не совсем. Не рекомендуется показывать клиенту, как работает ваше приложение сзади. В основном из соображений безопасности. Ваша трассировка стека показывает все вызываемые объекты, методы и даже строки, если они скомпилированы с отладочной информацией. Это слишком много информации для клиента, это нормально, если она будет на сервере.

Это среди SQL-инъекций, кросс-сторонних скриптов и других, которые я не могу вспомнить, неправильная обработка исключений является уязвимостью безопасности.

Обновлено: Вот и другие уязвимости (хотя я не вижу этой в списке :()

http://en.wikipedia.org/wiki/Vulnerability_(computing)

Клиенту нужно знать только то, что ему нужно знать. Во многих случаях совершенно нормально не показывать трассировки стека на вашем клиенте. Ваши пользователи должны получать четкие сообщения об ошибках, но не заботятся о трассировке стека.

Для целей отладки трассировка стека в любом случае обычно теряется, приложение выдает ошибки, пользователи перезапускают его и исчезают любые исключения, поэтому, если вам нужно знать ошибки, используйте структуру ведения журнала.

Другие вопросы по теме