2008-10-09 3 views
1

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

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

Вопрос в том, не должна ли клиентская сторона получать эту драгоценную информацию? Есть ситуации, подобные этому, для обоснования единственной нужна только одна копия трассировки стека?

ответ

2

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

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

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

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

1

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

Для целей отладки stacktrace вообще теряется в любом случае, приложение дает ошибки, пользователи Restar t it и ушел - это любое упражнение, поэтому, если вам нужно знать, что ошибки используют фреймворк регистрации.

Смежные вопросы