单元测试规约
单元测试 单元测试是对软件组成单元进行的测试。其目的是检验软件基本组成单位的正确性。 测试对象是软件设计的最小单元:模块,又称为模块测试。 单元测试的益处: ? 提高软件质量 ? 促进代码优化 ? 提升研发效率 AIR原则
BCDE原则
- B:Border 边界值测试
- C:Correct 正确的输入,并得到预期的结果
- E:Error 证明程序有错
- D:Design 与设计文档相结合
常用单元测试框架
系统安全规约
权限控制
-越权访问漏洞
- 前后端同时对用户输入信息进行校验
- 调用功能前,验证用户是否有权限
- 执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
- 直接对象引用的资源ID要加密,防止攻击者枚举ID,敏感数据特殊化处理
- 永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤
敏感数据处理规约 -数据处理
- 特殊信息授权
- 特殊信息脱敏
- 特殊信息加密存取
- 特殊信息加密传输
-脱敏原则
- 保持原有数据特征
- 保持数据之间的一致性
- 保持业务规则的关联性
- 多次脱敏之间的数据一致性
SQL 注入攻击及其预防 -常用防御手段
- 过滤危险字符
- 使用预编译语句:JDBC PrepareStatement
- 参数化查询:Hibernate、Mybatis
-Mybatis框架SQL注入漏洞场景
- 使用$直接拼接
- 模糊查询like后的参数
- in之后的参数
- order by之后
XSS攻击及其预防 XSS跨站脚本攻击(Cross Site Scripting, XSS)发生在客户端,可被用于进行窃取
- 输入过滤:单引号、双引号、<、>等
- 编码转换:HTML实体编码、JavaScript编码
- Cookie安全策略:HttpOnly
防重、防刷、违禁风控设计实践 重放攻击流程分析 防御重放攻击 关键资源防刷流程分析
|