【问题标题】:No stack trace generated on client site for NullPointerException?在客户端站点上没有为 NullPointerException 生成堆栈跟踪?
【发布时间】:2010-09-16 09:38:50
【问题描述】:

我已经学习 Java 大约一个月了,对这样的客户端/服务器情况还不是很熟悉。

基本上,我遇到了这样一种情况,我们的客户端 Java 软件 (GUI) 显示了一个 nullpointerexception 弹出窗口,但在客户端没有堆栈跟踪。有人不得不去检查服务器端的堆栈跟踪。

我的问题是,客户端不应该也收到这些宝贵的信息吗?这样的情况可以吗,理由是只需要一份堆栈跟踪副本吗?

【问题讨论】:

    标签: java client stack-trace nullpointerexception


    【解决方案1】:

    不是真的。不建议向客户端展示您的应用程序的工作方式。主要是出于安全原因。您的堆栈跟踪显示所有被调用的对象、方法以及是否使用调试信息编译,甚至是行。对于客户端来说信息太多了,放在服务器上就可以了。

    这在SQL注入、Cross side script等我记不得了的地方,异常处理不当是一个安全漏洞。

    编辑: 以下是其他漏洞(虽然我没有看到列出的这个:()

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

    【讨论】:

      【解决方案2】:

      客户只需要知道它需要知道的帽子。 在很多情况下,在您的客户端上不显示任何堆栈跟踪是完全可以的。 您的用户应该会收到明确的错误消息,但不要关心堆栈跟踪。

      出于调试目的,堆栈跟踪通常会丢失,应用程序给出错误,用户重新启动它并消失是任何异常,因此如果您需要了解错误,请使用日志框架。

      【讨论】:

        猜你喜欢
        • 2011-05-22
        • 2019-10-02
        • 1970-01-01
        • 2016-01-28
        • 2023-03-05
        • 1970-01-01
        • 2014-05-14
        • 1970-01-01
        • 2011-11-11
        相关资源
        最近更新 更多