Tho*_*ian 3 security error-handling exception xpages
我在服务器日志中收到以下错误.
用户只能在webbrowser(源代码)中看到这个
<html>
<head>
<title>Error</title></head>
<body text="#000000">
<h1>Error 500</h1>HTTP Web Server: Command Not Handled Exception</body>
</html>
Run Code Online (Sandbox Code Playgroud)
所以我可以通过服务器日志告诉服务器上有一个安全异常,可能是因为我的java.policy文件中的设置有错误.但我的问题不是导致错误的原因,而是如何避免用户遇到这些丑陋的500错误.
我想将我在应用程序中设置的错误页面呈现给用户,就像任何其他异常一样.
可能?
即使您定义了错误页面,也会有许多错误"突破".例如,当您将控件拖到自身上时.安全似乎是另一个领域 所有这些都是你应该在开发中处理的东西.我没有看到"通常"发生的错误(开发完成后的真正运行时和测试类型的错误)转义自定义错误页面.除此之外,遵循Declan的建议.
你的代码中的try/catch块越多越好(理所当然):
try {
// code that might throw an error
} catch (e) {
// examine the error to see if there's a workaround
// if not, log it and inform the user
} finally {
// any code that needs to run whether or not there was an error
}
Run Code Online (Sandbox Code Playgroud)
这样一旦失败,它就会优雅地失败.只要确保向用户明确说明出现了问题(并且,最好是向他们提供他们实际可以跟进的说明)...如果出现问题并且用户认为出现问题,则默默地失败甚至会比丑陋的错误页面更糟糕一切都很好.
PS正如斯蒂芬所指出的,有些错误根本无法捕获.例如,如果XPage没有被有权运行XPage的人签名,它甚至都没有尝试运行你的代码...页面本身是无效的,所以在运行时你无能为力.始终确保在部署期间签署了XPage.
| 归档时间: |
|
| 查看次数: |
4797 次 |
| 最近记录: |