安全编程-异常处理 忘是亡心i 2022-08-13 15:50 159阅读 0赞 一般情况下,程序员没有充分考虑错误条件和异常情况,而是更多地考虑那些期望的情况,这种忽略使得攻击者可以遵循一条错误和异常发生路径来实现攻击。不完善的错误处理机制通常会导致资源泄露。 异常包括已检测的异常和未检测的异常。假如一个方法声明抛出一个已检测的异常,所有调用它的方法就必须处理这个异常或者声明同样也抛出这个异常。这就迫使程序员考虑所有可能会发生已检测异常的地方。未检测异常可以不必声明和处理。 为了避免泄露堆栈记录或者其他系统信息,程序应当声明一个安全的异常处理程序,其功能是处理任何被置于调用堆栈顶部的异常(已检测或未检测的)。 在异常处理中要注意资源泄露问题,未能释放资源(包括数据库对象,文件句柄和套接字)可能会导致严重的性能问题。这种情况通常是在不寻常环境下或系统负荷太重时偶然发生的,所以很难根据生成的错误信息查找到资源泄露的位置。例如java程序中如果在执行SQL或处理结果时出现了异常,那么stmt对象将不能被关闭。假如这种情况经常发生,数据库将耗尽可用的指针,不能执行任何其他的查询。解决方法是在finally模块中调用close(),以保证在各种条件下释放资源。 在Web应用中不要使用HTTP错误代码发送有关错误的信息。对于导致错误的请求仍然返回200 OK。对于所有未预料到的事件使用一个独立的普通错误响应网页,这些事件包括HTTP错误和未处理的例外。使用一个单独的默认错误响应页可以防范攻击者采集信息,如堆栈追踪或者来自应用程序容器的内部错误响应的其他系统数据。 应用程序配置中应当指定一个默认的错误响应网页来确保应用程序绝不会向攻击者泄露错误信息。除了它是一个良好的安全实践以外,处理标准HTTP错误代码是非常有用的并且是对用户友好的。好的配置也将定义一个最后的错误处理器,它捕获应用程序可能抛出的任何异常。在web.xml中应该包含以下类似的内容: <error-page> <exception-type>java.lang.Throwable</exception-type> <location>/error.jsp</location> </error-page> <error-page> <error-code>404</error-code> <location>/error.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/error.jsp</location> </error-page>
相关 Java异常处理编程范式展示 在Java中,异常处理是通过try-catch-finally语句块来实现的。以下是一个简单的范例: ```java public class ExceptionHandli 柔情只为你懂/ 2024年09月20日 00:00/ 0 赞/ 1 阅读
相关 Java异常处理编程技巧实例 在Java中,异常处理是防止程序因错误或未预见的情况而崩溃的重要手段。下面是一些异常处理的编程技巧实例: 1. 使用try-catch-finally结构: ```java 系统管理员/ 2024年09月18日 06:03/ 0 赞/ 19 阅读
相关 Java异常处理编程实践:空指针异常 在Java编程中,空指针异常(NullPointerException)是一种常见的运行时错误。当尝试访问一个null引用的对象属性或方法时,就会抛出这个异常。 下面是一个简 ╰+哭是因爲堅強的太久メ/ 2024年09月17日 06:18/ 0 赞/ 8 阅读
相关 网络编程:JavaSocket编程与异常处理 在Java中,Socket编程是网络通信的基础。下面我们将详细讲解Java Socket编程以及如何进行异常处理。 1. **Socket编程基础**** - 创建S 谁践踏了优雅/ 2024年09月12日 09:12/ 0 赞/ 17 阅读
相关 面向对象编程:Java异常处理示例 在Java中,异常处理是通过try-catch-finally语句来实现的。以下是一个简单的异常处理示例: ```java public class ExceptionHan 深藏阁楼爱情的钟/ 2024年09月06日 00:09/ 0 赞/ 18 阅读
相关 c#编程最佳实践1:异常处理 — 你是否在用户输入验证中使用异常处理机制? 如果是,那么你就是那个把你的项目执行速度降低了62倍的人。你不相信我吗?等几分钟;我来教你怎么做。但是在这个例子之前,让我们了 妖狐艹你老母/ 2023年01月07日 13:25/ 0 赞/ 107 阅读
相关 java安全编码指南之:异常处理 文章目录 简介 异常简介 不要忽略checked exceptions 不要在异常中暴露敏感信息 在处理捕获的异常时,需要恢复对象的初始状态 阳光穿透心脏的1/2处/ 2022年12月11日 07:25/ 0 赞/ 159 阅读
相关 异步编程异常和死锁处理 异步编程异常和死锁处理 参考文章: [(1)异步编程异常和死锁处理][1] (2)https://www.cnblogs.com/darrenji/p/4710425.h 电玩女神/ 2022年09月14日 08:36/ 0 赞/ 116 阅读
相关 安全编程-异常处理 一般情况下,程序员没有充分考虑错误条件和异常情况,而是更多地考虑那些期望的情况,这种忽略使得攻击者可以遵循一条错误和异常发生路径来实现攻击。不完善的错误处理机制通常会导致资源泄 忘是亡心i/ 2022年08月13日 15:50/ 0 赞/ 160 阅读
还没有评论,来说两句吧...