第1章 Web应用程序安全概述 1
1.1 Web应用程序的安全性 1
1.1.1 代码访问安全性 3
1.1.2 基于角色的安全性 8
1.2 Web应用系统安全模型 11
1.3 .NET安全类库 15
1.3.1 安全类库的内部关系 16
1.3.2 System.Security 16
1.3.3 System.Security.Cryptography 18
1.3.4 System.Security.Principal 19
1.3.5 System.Security.Policy 21
1.3.6 System.Security.Permissions 23
1.3.7 System.Web.Security 25
第2章 ASP.NET的安全控件 27
2.1 登录控件 27
2.2 登录状态控件 29
2.3 密码维护控件 30
2.4 创建用户向导控件 33
2.5 页面访问控件 35
第3章 Web应用系统的数据加密 37
3.1 数据安全威胁 37
3.2 哈希加密算法 37
3.3 Windows API加密方法 43
3.4 配置信息加密方法 50
3.4.1 DpapiProtectedConfigurationProvider类 52
3.4.2 RsaProtectedConfigurationProvider类 56
3.5 保护视图数据 60
3.5.1 开启视图保护开关 62
3.5.2 加密视图信息 64
3.5.3 用户独立视图 66
3.6 通过密钥进行数据加密 67
3.6.1 对称加密算法 68
3.6.2 非对称加密算法 72
3.6.3 证书加密 75
第4章 数据库安全通信 80
4.1 SQL注入攻击 80
4.1.1 攻击原理 81
4.1.2 攻击方式 81
4.1.3 防范方法 82
4.2 注入攻击实例 83
4.3 防止注入攻击 89
4.4 安全数据库连接 90
4.4.1 数据库身份验证 92
4.4.2 数据库授权 93
4.4.3 数据库安全配置 95
4.4.4 数据库加密 96
4.4.5 数据库反馈信息保护 99
4.4.6 LINQ技术 102
4.4.7 数据库安全部署 104
第5章 数据验证 107
5.1 数据验证概述 107
5.2 数据验证方式 112
5.2.1 图片和附加码数据验证 112
5.2.2 Web表单数据验证 115
5.2.3 Web窗体数据验证 116
5.3 数据审核 125
5.4 数据过滤 128
第6章 身份验证技术 133
6.1 用管道技术加固验证功能 133
6.1.1 安全HTTP请求处理流程 134
6.1.2 安全HTTP管道 136
6.1.3 安全HTTP Modules 139
6.2 基于角色的安全认证 141
6.2.1 IIS和ASP.NET用户认证流程 142
6.2.2 认证 143
6.2.3 授权 143
6.2.4 ASP.NET用户认证 143
6.2.5 使用ASP.NET管理工具添加用户 146
6.2.6 ASP.NET角色管理系统 148
6.2.7 使用Membership/Role API添加用户 153
6.2.8 ASP.NET的MemberShip Provider 161
6.2.9 实现自定义的Membership Provider类 164
6.2.10 基于角色的站点导航 169
6.3 窗体验证 172
6.4 操作系统集成验证 176
6.4.1 基于IIS的Windows身份验证 177
6.4.2 基于活动目录的Windows身份验证 181
6.5 文件授权 189
第7章 构建安全的组件 191
7.1 组件面临的威胁 191
7.2 安全的服务组件设计 192
7.3 组件的安全身份验证 193
7.4 组件中的敏感数据 196
7.5 组件安全审核和日志记录 196
7.6 安全组件构建实例 197
7.7 安全组件的部署 201
7.8 组件强签名与反编译 203
7.9 安全的I/O文件操作 204
7.10 安全操作注册表 212
7.11 序列化代码安全 214
7.12 安全的多线程访问 214
第8章 加固会话安全 217
8.1 安全会话概述 217
8.2 保护会话状态 221
8.3 创建安全会话 222
8.4 基于HTTPS的自定义绑定会话 224
8.5 在会话中使用令牌 226
8.6 保护会话中的数据 228
8.7 会话参数 229
8.8 会话的存储安全 230
第9章 安全日志 234
9.1 错误异常 234
9.2 错误异常的作用 234
9.2.1 错误异常处理机制 235
9.2.2 错误异常组成 235
9.3 异常处理程序的设计 235
9.3.1 错误异常的引发 235
9.3.2 错误异常的处理 242
9.3.3 错误异常的捕获 245
9.3.4 设计自定义错误异常 246
9.3.5 错误异常的性能 247
9.3.6 显示安全的错误信息 248
9.4 保护ASP.NET日志 251
9.4.1 Web系统安全监控 251
9.4.2 记录错误信息 252
9.4.3 使用顶级日志组件 255
9.4.4 安全事件 261
第10章 代码信任技术 267
10.1 代码信任技术概述 267
10.2 资源访问安全 267
10.3 完全信任和部分信任 268
10.4 代码访问安全配置 269
10.5 ASP.NET策略文件 270
10.6 ASP.NET安全策略 271
10.7 开发部分信任Web应用程序 273
10.8 部分信任级的配置方法 274
10.9 部分信任的Web应用程序处理策略 275
10.10 自定义策略 276
10.11 沙箱保护策略 276
10.12 中度信任程序 278
10.13 中度信任的限制 278
第11章 Web服务器安全设置 281
11.1 配置安全的操作系统 281
11.2 安全配置IIS 6.0 284
11.3 使用IIS 6.0 287
11.4 IIS 7.0安全设置 289
11.4.1 角色设置 291
11.4.2 页面和控件设置 292
11.4.3 监控Web系统安全 295
11.4.4 安全密钥配置 299
11.4.5 安全日志配置 302
第12章 代码安全性测试工具 306
12.1 监控系统HTTP流 306
12.2 黑盒安全检测 313
12.3 检测代码漏洞工具 316
12.4 数据库漏洞检测工具 323
第13章 .NET安全审核模板 326