在Java编程语言中,关键的安全编码要素是采用良好的文档和强制的编码规范。本书提供了在Java语言中的一系列安全编码规则。这些规则的目标是消除不安全的编码实践,因为这些不安全的因素会导致可利用的漏洞。如果应用这些安全编码标准,可以帮助设计出安全的、可靠的、健壮的、有弹性的、可用性和可维护性高的高质量系统,并且这些安全编码规范还可作为评估源代码质量特性的一个指标(不管使用的是手动的还是自动化的过程)。对于使用Java编程语言开发的软件系统,这个编码规范具有广泛的影响。
第1章 概述1.1 错位的信任1.2 注入攻击1.3 敏感数据泄露1.4 效能泄露1.5 拒绝服务1.6 序列化1.7 并发性、可见性和内存1.8 最低权限原则1.9 安全管理器1.10 类装载器1.11 小结第2章 输入验证和数据净化(IDS)2.1 IDS00-J净化穿越受信边界的非受信数据2.2 IDS01-J验证前标准化字符串2.3 IDS02-J在验证之前标准化路径名2.4 IDS03-J不要记录未经净化的用户输入2.5 IDS04-J限制传递给ZipInputStream的文件大小2.6 IDS05-J使用ASCII字符集的子集作为文件名和路径名2.7 IDS06-J从格式字符串中排除用户输入2.8 IDS07-J不要向Runtime.exec()?方法传递非受信、未净化的数据2.9 IDS08-J净化传递给正则表达式的非受信数据2.10 DS09-J如果没有指定适当的locale,不要使用locale相关方法处理与locale相关的数据2.11 IDS10-J不要拆分两种数据结构中的字符串2.12 IDS11-J在验证前去掉非字符码点2.13 IDS12-J在不同的字符编码中无损转换字符串数据2.14 IDS13-J在文件或者网络I/O两端使用兼容的编码方式第3章 声明和初始化(DCL)3.1 DCL00-J防止类的循环初始化3.2 DCL01-J不要重用Java标准库的已经公开的标识3.3 DCL02-J将所有增强for语句的循环变量声明为final类型第4章 表达式(EXP)4.1 EXP00-J不要忽略方法的返回值4.2 EXP01-J不要解引用空指针4.3 EXP02-J使用两个参数的Arrays.equals()方法来比较两个数组的内容4.4 EXP03-J不要用相等操作符来比较两个基础数据类型的值4.5 EXP04-J确保使用正确的类型来自动封装数值4.6 EXP05-J不要在一个表达式中对同一变量进行多次写入4.7 EXP06-J不要在断言中使用有副作用的表达式
相关资源:七夕情人节表白HTML源码(两款)