clo*_*ace 9 java websphere stack-trace production-environment custom-error-pages
这是上下文:
我为一家非常大的企业工作.在这里,我们有许多WebSphere Application Server集群,每个集群都运行许多Java EE Web应用程序.这些应用程序中的大多数(但不是全部)在其web.xml中包含特殊指令,以便在发生意外异常时显示自定义错误页面.这是一个例子:
<error-page>
<error-code>500</error-code>
<location>/500.jsp</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)
当然,通过这样做,我们的目标是向客户显示一个友好的错误页面,而且,我们主要的目的是隐藏通常包含在标准http 500错误页面中的堆栈跟踪.
正如您应该知道的,这些堆栈跟踪包含许多敏感数据,例如包的名称,类的名称甚至方法的名称.有时,最糟糕的是,这些堆栈跟踪包含SQL异常,这些异常通常会显示使用哪些数据库服务器软件.甚至最糟糕的是,这些堆栈跟踪包含文件和文件夹路径,这反过来可以揭示我们的WebSphere Application Server运行在哪个操作系统的系列上.
我是否需要提及这些堆栈跟踪可以揭示的所有其他更敏感的数据?(用户名,端口号,IP地址,计算机/服务器名称,JNDI对象的名称......)
因此,这里没有什么大惊喜,每个大型企业都需要将这些堆栈跟踪隐藏到客户手中.
但是,这是我们的问题:
有时,即使在web.xml文件中配置了自定义错误页面,WebSphere也会将基本错误页面发送到客户的Web浏览器.我非常理解为什么WebSphere会这样做.例如,我知道当http响应的头已经提交时,WebSphere无法重置其缓冲区以发送自定义错误页面,然后无法比发送基本错误页面做得更好.
这是我的问题:
(1)是否可以配置WebSphere,以便它的基本错误页面中永远不会包含任何堆栈跟踪?这样,即使由于某些技术原因,WebSphere无法发送我们的自定义错误页面,至少基本错误页面也不会包含任何敏感数据.
我们应该怎么做?
谢谢,
| 归档时间: |
|
| 查看次数: |
2493 次 |
| 最近记录: |