1

私は Java を学習して約 1 か月になりますが、このようなクライアント/サーバーの状況にはあまり慣れていません。

基本的に、クライアント Java ソフトウェア (GUI) が nullpointerexception ポップアップを表示するが、クライアント側でスタック トレースが表示されない状況に遭遇しました。誰かがサーバー側でスタック トレースをチェックする必要がありました。

私の質問は、クライアント側もこの貴重な情報を受け取るべきではありませんか? スタック トレースのコピーが 1 つしか必要ないという理論的根拠はありますか?

4

2 に答える 2

2

あまり。アプリの動作を背後からクライアントに示すことはお勧めしません。主にセキュリティ上の理由から。スタックトレースには、呼び出されているすべてのオブジェクト、メソッド、およびデバッグ情報でコンパイルされている場合は行が表示されます。これはクライアントにとっては情報が多すぎるため、サーバー上に置いても問題ありません。

SQL インジェクション、クロスサイド スクリプトなど、思い出せませんが、不適切な例外処理はセキュリティ上の脆弱性です。

編集:ここに他の脆弱性があります(ただし、これはリストされていません:()

http://en.wikipedia.org/wiki/Vulnerability_(コンピューティング)

于 2008-10-09T21:46:49.607 に答える
1

クライアントは、知る必要があることだけを知る必要があります。多くの場合、クライアントにスタック トレースを表示しなくてもまったく問題ありません。ユーザーは明確なエラー メッセージを受け取る必要がありますが、スタック トレースは気にしません。

デバッグの目的で、スタックトレースは一般的に失われます。アプリケーションはエラーを出し、ユーザーはそれを再起動し、例外はなくなります。そのため、エラーを知る必要がある場合は、ロギング フレームワークを使用します。

于 2008-10-10T06:30:23.497 に答える