Java语言安全开发规范大全.doc

  1. 1、本文档共100页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 TOC \o 1-3 \u JAVA安全开发规范 I 一. 前言 1 二. 基本原则 2 2.1 架构安全 2 2.1.1 MVC框架 2 2.1.2 会话安全 2 2.1.3 安全基础 3 2.2 授权、认证和加密 3 2.2.1 源码加密 3 2.2.2 数据加密 3 2.2.3 认证和授权 3 2.2.4 口令策略 4 2.2.5 访问策略 4 2.2.6 隐私保护 4 2.3 输入验证 5 2.3.1 集中式输入验证 5 2.3.2 服务器端输入验证 5 2.3.3 建议采用白名单放弃黑名单 5 2.3.4 验证输入长度、格式、字符合法性等 5 2.3.5 验证所有的输入 5 2.3.6 防范元字符攻击 6 2.4 数据库连接安全 6 2.4.1 使用参数化SQL语句 6 2.4.2 数据库中的数据也是不可信的 7 2.4.3 确保数据库资源能够被释放 7 2.5 文件安全 7 2.5.1 严格控制文件上传 7 2.5.2 严格分配文件访问权限策略 8 2.5.3 安全的临时文件 8 2.5.4 访问竞争条件 8 2.6 开发调试 8 2.6.1 日志 8 2.6.2 调试 9 2.6.3 错误处理 9 三. 常见编程威胁 10 3.1 跨站脚本攻击(XSS) 10 3.2 注入缺陷 11 3.3 不安全的直接对象引用 13 3.4 伪造跨站点请求 14 3.5 信息泄露和不正确的错误处理 16 3.6 被破坏的认证和会话管理 17 3.7 不安全的加密存储 18 3.8 不安全的通讯 19 3.9 URL访问限制失效 20 3.10 对不同层次人员的建议 21 四. 常见编程脆弱性 23 4.1 API滥用 23 4.1.1 代码正确性:未实现类equals方法 23 4.1.2 代码正确性:不正确的finalize() 方法 24 4.1.3 代码正确性:数组转字符串 24 4.1.4 J2EE中的错误:滥用sockets 24 4.1.5 J2EE中的错误:getConnection函数 25 4.1.6 未检查空指针 25 4.1.7 缺乏对空参数的检查 26 4.1.8 对象模型违背:只定义了equals()或者hashCode()中的一个 27 4.1.9 对象模型违背:只定义了saveState() 或 restoreState()中的一个 27 4.1.10 未检查返回值 28 4.1.11 使用只读查询 29 4.1.12 定义了clone()方法,却没有实现Cloneable接口 29 4.1.13 代码正确性:不正确的class比较 30 4.1.14 代码正确性:错误的字符串对比方法 30 4.1.15 无用代码:表达式总为false 31 4.1.16 无用代码:表达式总为true 31 4.1.17 无用代码:定义了却未使用的字段 32 4.1.18 无用代码:定义了却不会使用的方法 33 4.1.19 空指针 34 4.1.20 不良习惯:命名混淆 35 4.1.21 资源未得到释放 35 4.1.22 无内容的try block 36 4.1.23 执行以后,锁未释放 37 4.1.24 避免在加锁的时候调用sleep() 38 4.1.25 包含敏感内容的非final方法可被重写 38 4.2 封装 39 4.2.1 J2EE中的错误习惯:调试代码被保留 39 4.2.2 不正确的日志行为:日志记录器没有被声明为static和final 40 4.2.3 不正确的日志行为:使用System.out代替结构化日志记录 40 4.2.4 系统信息泄露 41 4.2.5 JSP中保留了HTML注解 41 4.2.6 信任边界不清晰 42 4.2.7 避免声明定义为public和static,但未定义为final的成员变量 43 4.2.8 代码访问权限过大 43 4.2.9 J2EE配置不当:cookie禁用 45 4.2.10 J2EE配置不当:调试信息 46 4.2.11 J2EE配置不当:缺乏自定义错误页面 46 4.2.12 密码管理:使用空字符串作为密码 47 4.2.13 密码管理:明文存放密码 47 4.2.14 不要把多个URL映射到同一个Servlet 47 4.2.15 不要在tomcat-users.xml文件中放置明文密码 48 4.2.16 Servlet name缺失或者没有正确配置 49 4.2.17 Servlet缺少相应的Servlet-mapping 50 4.2.1

文档评论(0)

黑白兔 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档