Java安全编码标准
输入验证和数据净化(IDS)规则风险评估概要
IDS00-J净化穿越受信边界的非受信数据
IDS01-J验证前标准化字符串
IDS02-J在验证之前标准化路径名
IDS03-J不要记录未经净化的用户输入
IDS04-J限制传递给ZipInputStream的文件大小
IDS05-J使用ASCII字符集的子集作为文件名和路径名
IDS06-J从格式字符串中排除用户输入
IDS07-J不要向Runtime.exec 方法传递非受信、未净化的数据
IDS08-J净化传递给正则表达式的非受信数据
DS09-J如果没有指定适当的locale,不要使用locale相关方法处理与locale相关的数据
IDS10-J不要拆分两种数据结构中的字符串
IDS11-J在验证前去掉非字符码点
IDS12-J在不同的字符编码中无损转换字符串数据
IDS13-J在文件或者网络I/O两端使用兼容的编码方式
声明和初始化(DCL)规则风险评估概要
DCL00-J防止类的循环初始化
DCL01-J不要重用Java标准库的已经公开的标识
DCL02-J将所有增强for语句的循环变量声明为final类型
表达式(EXP)规则风险评估概要
EXP00-J不要忽略方法的返回值
EXP01-J不要解引用空指针
EXP02-J使用两个参数的Arrays.equals方法来比较两个数组的内容
EXP03-J不要用相等操作符来比较两个基础数据类型的值
EXP04-J确保使用正确的类型来自动封装数值
EXP05-J不要在一个表达式中对同一变量进行多次写入
EXP06-J不要在断言中使用有副作用的表达式
数值类型与运算