На клиентском сайте не сгенерирована трассировка стека для NullPointerException? - PullRequest
1 голос
/ 10 октября 2008

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

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

Мой вопрос: разве клиентская сторона не должна также получать эту ценную информацию? Хорошо ли, что такие ситуации хороши, и для этого нужно только одна копия трассировки стека?

Ответы [ 2 ]

2 голосов
/ 10 октября 2008

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

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

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

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

1 голос
/ 10 октября 2008

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

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

...