第1章Microso.NET Framework概述 1
1.1 .NET Framework概述 1
1.1.1 .NET Framework 1
1.1.2 .NET解决的问题 3
1.1.3 .NET Framework组件 3
1.1.4使用.NET Framework的优点 5
1.1.5 .NET开发工具——Visual Studio.NET 6
1.2ASPNET概述 7
1.2.1ASPNET 7
1.2.2 ASPNET Web应用程序 8
1.3实验案例简介 9
1.3.1实验应用程序的创建 10
1.3.2演示 实验解决方案 11
1.4相关资源 13
习题 13
第2章 使用MicrosoVisualStudio.NET 14
2.1Visual Studio.NET概述 14
2.1.1 Visual Studio.NET的优点 14
2.1.2起始页 15
2.1.3项目模板 17
2.1.4课堂练习 选择项目模板 19
2.1.5集成开发环境(IDE) 20
2.1.6演示 使用Visual Studio.NET集成开发环境 28
2.1.7课堂练习 使用VisualStudio.NET IDE 30
2.2创建ASPNET Web应用程序项目 30
2.2.1开发流程 30
2.2.2 Web应用程序文件 32
2.2.3 Web应用程序文件结构 34
2.2.4演示 创建一个Web应用程序项目 35
实验 使用MicrosoVisual Studio.NET 37
练习1创建ASPNET Web应用程序项目 37
练习2使用Visual Studio.NET 39
习题 40
第3章 使用基于Microso.NET的开发语言 41
3.1基于.NET的开发语言简介 41
3.1.1多语言支持 41
3.1.2公共语言运行库 42
3.1.3公共语言运行库组件 43
3.1.4运行库编译与执行 44
3.1.5命名空间 45
3.1.6使用命名空间 46
3.2基于.NET的开发语言的比较 47
3.2.1 Visual Basic.NET 47
3.2.2 Visual C#.NET 48
3.2.3选择合适的语言 49
3.2.4课堂练习 语言转换 49
3.3使用Visual Studio.NET创建组件 50
3.3.1类和组件 50
3.3.2创建类 51
3.3.3在ASPNET Web窗体中使用组件 53
3.3.4演示在Visual Studio.NET中创建类 54
实验 创建MicrosoVisual Studio.NET组件 55
实验设置 56
练习1创建类 56
练习2调用组件 59
习题 61
第4章 创建MicrosoASP.NET Web窗体 63
4.1创建Web窗体 63
4.1.1 Web窗体 63
4.1.2使用Visual Studio.NET创建Web窗体 70
4.1.3演示将HTML页转换为Web窗体 71
4.2使用服务器控件 72
4.2.1服务器控件 72
4.2.2服务器控件的类型 73
4.2.3保存视图状态 74
4.2.4演示 转换HTML控件为服务器控件 75
4.2.5 HTML服务器控件 76
4.2.6 Web服务器控件 77
4.2.7课堂练习 识别Web服务器控件生成的HTML代码 78
4.2.8选择合适的控件 79
4.2.9演示向Web窗体添加服务器控件 80
实验 创建Microsoft ASP.NET Web窗体 81
实验设置 82
练习1创建Default.aspx Web窗体 85
练习2创建Life.aspx Web窗体 87
习题 88
第5章在MicrosoASP.NET Web窗体中添加代码 90
5.1使用代码隐藏页 90
5.1.1添加代码的方法 90
5.1.2编写内联代码 90
5.1.3代码隐藏页 91
5.1.4代码隐藏页的运行机制 92
5.2为Web服务器控件添加事件过程 94
5.2.1事件过程 94
5.2.2演示 使用事件 94
5.2.3客户端事件过程 94
5.2.4服务器端事件过程 95
5.2.5创建事件过程 97
5.2.6课堂练习 创建事件过程 99
5.2.7在事件过程中与控件进行交互 100
5.3使用Page事件 101
5.3.1 Page事件的生命周期 101
5.3.2演示 处理事件 103
5.3.3课堂练习 按发生顺序放置事件 105
5.3.4使用Page.IsPostback属性 107
5.3.5链接两个控件 107
5.3.6演示 链接多个控件 108
实验为Web应用程序添加功能 109
实验设置 109
练习1创建Page-Load事件过程 112
练习2创建Click事件过程 116
练习3(可选)在用户控件中使用组件 116
习题 118
第6章MicrosoASP.NET Web应用程序的跟踪机制 120
6.1跟踪 120
6.1.1运行时信息 120
6.1.2启用跟踪 121
6.1.3使用Trace对象 122
6.1.4查看跟踪结果 124
6.1.5使用应用程序级跟踪 124
6.1.6演示 跟踪Web应用程序 125
6.1.7组件内跟踪 128
6.2调试 129
6.2.1在调试模式下编译Web窗体 129
6.2.2调用运行库调试器 131
6.3远程调试 134
6.3.1执行远程调试 134
实验 跟踪MicrosoASP.NET Web应用程序 137
实验设置 138
练习1使用跟踪语句 140
练习2组件内跟踪 143
习题 146
第7章 验证用户输入 147
7.1用户输入验证概述 147
7.1.1输入验证 147
7.1.2客户端和服务器端验证 149
7.1.3 ASP.NET验证控件 150
7.2使用ASP.NET验证控件 150
7.2.1在Web窗体中添加验证控件 151
7.2.2在Web窗体中布置验证控件 152
7.2.3组合使用验证控件 153
7.2.4输入验证控件 155
7.2.5使用RegularExpressionValidator控件 157
7.2.6演示 使用验证控件 159
7.2.7使用CustomValidator控件 160
7.2.8演示 使用CustomValidator控件 162
7.3页面验证 163
7.3.1使用Page.IsValid属性 164
7.3.2使用ValidationSummary控件 165
7.3.3演示 使用Page.IsValid属性和ValidationSummary控件 166
实验 验证用户输入 166
实验设置 167
练习1使用RequiredFieldValidator控件 170
练习2使用ValidationSummary控件 171
练习3使用CompareValidator控件 172
练习4使用RegularExpressionValidator控件 173
习题 173
第8章 创建用户控件 175
8.1在ASP.NET Web窗体中添加用户控件 175
8.1.1用户控件 175
8.1.2使用用户控件的原因 177
8.1.3课堂练习 列举用户控件 177
8.1.4添加用户控件 177
8.1.5演示 使用用户控件 179
8.2创建用户控件 180
8.2.1创建用户控件 180
8.2.2演示 创建用户控件 182
实验 创建用户控件 184
实验设置 185
练习1创建用户控件 187
练习2使用用户控件 189
习题 190
第9章 使用MicrosoVisual Studio.NET访问关系型数据 192
9.1ADO.NET概述 192
9.1.1ADO.NET 192
9.1.2命名空间 193
9.1.3ADO.NET对象模型 193
9.1.4DataSet 194
9.1.5使用ADO.NET访问数据 196
9.1.6课堂练习 识别ADONET控件 197
9.2创建数据库连接 197
9.2.1使用服务器资源管理器创建数据库连接 197
9.2.2DataAdapter对象模型 199
9.2.3演示 连接数据库 200
9.2.4生成DataSet 200
9.2.5演示 生成数据集 202
9.3使用list-bound控件显示DataSet 202
9.3.1数据绑定 202
9.3.2list-bound控件 205
9.3.3使用list-bound控件显示DataSet 205
9.3.4演示 绑定list-bound控件到数据库 206
9.3.5课堂练习 使用DataGrid控件 207
9.3.6演示 自定义DataGrid控件 208
9.3.7使用DataList控件 209
实验 使用MicrosoVisual Studio.NET访问关系型数据 213
实验设置 214
练习1连接到Doctors数据库 216
练习2 DataGrid控件中的分页和选择 218
习题 220
第10章 使用MicrosoADO.NET访问数据 222
10.1 ADO.NET入门 222
10.1.1比较使用DataSet与DataReader 222
10.1.2课堂练习 选择使用DataSet或DataReader 223
10.2连接数据库 224
10.2.1 SQL Server安全 224
10.2.2创建连接 226
10.2.3演示 设置SQL Server安全性 228
10.3使用DataSet访问数据 229
10.3.1创建DataAdapter 230
10.3.2创建DataSet 231
10.3.3演示 以编程方式使用DataSet 234
10.3.4使用DataView 234
10.3.5课堂练习 组织创建DataSet的代码 235
10.3.6将DataSet绑定到list-bound控件 236
10.3.7课堂练习 显示DataSet数据 237
10.3.8错误处理 238
10.3.9在数据库中更改记录 241
10.4使用多个表 246
10.4.1保存多个表 247
10.4.2创建关系 249
10.4.3通过编程方式使用关系在表之间导航 250
10.4.4通过可视化方式使用关系在表之间导航 251
10.4.5课堂练习 显示来自多个表的数据 252
10.5使用DataReader访问数据 253
10.5.1 DataReader 254
10.5.2创建DataReader 254
10.5.3从DataReader读取数据 257
10.5.4将DataReader绑定到list-bound控件 258
10.5.5课堂练习 组织创建DataReader的代码 259
10.5.6演示 使用DataReader显示数据 260
实验 使用MicrosoADO.NET访问数据 260
实验设置 261
练习1使用SqlDataReader 264
练习2查看来自所有城市的医生 267
习题 270
第11章 通过MicrosoADO.NET调用存储过程 272
11.1存储过程概述 272
11.1.1存储过程 272
11.1.2使用存储过程的原因 273
11.1.3课堂练习 选择正确的存储过程 274
11.2调用存储过程 275
11.2.1调用存储过程 275
11.2.2演示 调用存储过程 277
11.2.3课堂练习 显示存储过程返回的数据 277
11.2.4使用参数 278
11.2.5传递输入参数 279
11.2.6使用输出参数 280
11.2.7演示 传递参数 282
实验 使用MicrosoADO.NET调用存储过程 282
实验设置 283
练习1获取特定的城市名 286
练习2获取医生的专业 288
习题 291
第12章 读写XML数据 292
12.1 ASP.NET中的XML架构概述 292
12.1.1 XML 292
12.1.2 XML核心技术 294
12.2 XML与DataSet对象 297
12.2.1 DataSet对象使用XML的原因 297
12.2.2 XML和DataSet对象概述 298
12.2.3 DataSet对象基于XML的方法 299
12.2.4演示用DataSet读/写XML 300
12.2.5课堂练习使用ReadXml方法 301
12.2.6创建嵌套的XML数据 302
12.2.7演示 创建嵌套XML 305
12.3使用XML数据 306
12.3.1 DataSet与XmlDataDocument同步概述 306
12.3.2使DataSet与XmlDataDocument同步 307
12.3.3使用XmlDataDocument 308
12.3.4使用XSLT转换XML数据 309
12.3.5演示 使用XSLT转换XML数据 311
12.3.6使用XPathNavigator 311
12.4使用XML Web服务器控件 315
12.4.1 XML Web服务器控件 315
12.4.2加载和保存XML数据 316
12.4.3演示 使用XML Web服务器控件 318
实验 读取XML数据 319
实验设置 320
练习1从XML文件中读出公共基金列表 322
练习2 XML数据的读取、转换和显示 324
练习3(可选)嵌套数据 325
习题 327
第13章 使用和创建XML WebService 329
13.1使用XML Web Service概述 329
13.1.1 XML Web Service 329
13.1.2使用XML Web Service的原因 331
13.1.3查找XML Web Service 333
13.2使用HTTP调用XML Web Service 335
13.2.1使用HTTP协议调用XML Web Service 335
13.2.2课堂练习 使用HTTP调用XML Web Service 337
13.3使用代理调用XML Web Service 338
13.3.1使用代理调用XML Web Service 338
13.3.2使用代理调用XML Web Service的方法 340
13.3.3课堂练习 使用代理调用XML Web Service 342
13.3.4 XML Web Service错误处理 343
13.3.5演示 测试XML Web Service的可用性 344
13.3.6使用W SDL工具生成代理代码 346
13.4创建XML Web Service 347
13.4.1创建XML Web Service的方法 347
13.4.2 XML Web Service的代码 348
13.4.3课堂练习 创建XML WebService 351
13.4.4 XML Web Service文档 354
13.4.5 XML Web Service和接口继承 355
13.5扩展XML Web Service 357
13.5.1上扩 357
13.5.2外扩 358
13.5.3克服伸缩性瓶颈 361
13.5.4维持高可用性 362
13.5.5高可用性的上扩资源 363
13.5.6高可用性的外扩资源 364
13.5.7高可用性资源编程 364
13.5.8第三方XML Web Service与可用性 365
实验 创建和使用XML Web Service 368
实验设置 369
练习1创建Dentist XML Web Service和GetAllDentists XML WebService方法 371
练习2创建GetDentistsByPostalCodeXML Web Service方法 374
练习3使用GetAllDentists XML WebService方法 377
练习4使用GetDentistsByPostalCodeXML Web Service方法 379
习题 380
第14章 状态管理 381
14.1状态管理 381
14.1.1状态管理 381
14.1.2状态管理的类型 382
14.1.3服务器端状态管理 384
14.1.4客户端状态管理 385
14.1.5 Global.asax文件 387
14.2应用程序变量和会话变量 388
14.2.1初始化应用程序变量和会话变量 389
14.2.2使用应用程序变量和会话变量 390
14.2.3演示 使用Session变量 390
14.2.4应用程序变量和会话变量的持续时间 391
14.2.5可扩展的应用程序变量和会话变量存储 392
14.2.6使用数据库保存应用程序变量和会话变量 394
14.3 Cookies的会话与无Cookie会话 395
14.3.1使用Cookie保存会话数据 395
14.3.2课堂练习 使用变量和Cookie 397
14.3.3从Cookie中检索信息 398
14.3.4使用无Cookie会话 399
14.3.5设置无Cookie会话 399
实验 存储应用程序数据和会话数据 400
实验设置 401
练习1使用会话变量 404
练习2使用Cookie 407
练习3使用应用程序变量 413
练习4在数据库中保存会话变量 415
习题 416
第15章 配置、优化和部署MicrosoASP.NETWeb应用程序 417
15.1使用Cache对象 417
15.1.1 Cache对象 417
15.1.2使用Cache对象的优点 419
15.1.3使用Cache对象的方法 419
15.1.4从Cache对象中移除项 420
15.1.5演示 使用Cache对象 422
15.2使用ASP.NET输出缓存 424
15.2.1输出缓存的类型 424
15.2.2使用页输出缓存 425
15.2.3演示 页面输出缓存 427
15.2.4使用片断缓存 428
15.3配置ASP.NET Web应用程序 428
15.3.1配置方法概述 428
15.3.2使用Machine.config配置Web服务器 429
15.3.3使用Web.config配置Web应用程序 430
15.3.4理解配置继承 431
15.3.5演示 配置信息的继承 432
15.3.6课堂练习 确定配置继承 432
15.3.7在Web.config中保存和检索数据 434
15.3.8使用动态属性 435
15.3.9演示 使用动态属性 436
15.4部署ASPNET Web应用程序 437
15.4.1部署Web应用程序 437
15.4.2部署Web应用程序的准备 437
15.4.3课堂练习 选择必需的文件 439
15.4.4在全局程序集缓存(GAC)中共享程序集 439
15.4.5更新Web应用程序 439
15.4.6 Visual Studio.NET中的部署选项 440
实验 配置、优化和部署MicrosoASP.NETWeb应用程序 442
实验设置 443
练习1使用Cache对象 447
练习2使用页输出缓存 451
练习3使用部分页面缓存 452
练习4使用动态属性 453
练习5部署站点 454
课程评估 456
习题 456
第16章Web安全性介绍 457
16.1构建Web应用程序安全性的原因 457
16.1.1安全的重要性 457
16.1.2实现安全性的挑战 458
16.1.3 Web可访问资源面临的威胁 459
16.1.4攻击者 460
16.1.5攻击 462
16.1.6常见的攻击类型 462
16.1.7攻击的具体过程 464
16.1.8常见的漏洞类型 465
16.2使用STRIDE模型确定威胁 466
16.2.1身份欺骗 467
16.2.2篡改数据(完整性) 468
16.2.3否认 468
16.2.4信息泄露 468
16.2.5拒绝服务 469
16.2.6特权升级 469
16.2.7课堂练习 使用STRIDE模型识别威胁 469
16.3安全性实现概述 470
16.3.1安全技术概述 470
16.3.2构建安全Web应用程序的最佳实践 474
16.3.3启用日志 476
16.3.4课堂练习 配置安全的IIS 477
16.4安全性原则 478
习题 484
第17章Web应用程序安全性规划 485
17.1安全Web应用程序的设计过程 485
17.1.1确定威胁 486
17.1.2识别受保护的资源 487
17.1.3课堂练习 识别受保护的资源 488
17.1.4识别对资源的威胁 489
17.1.5课堂练习 识别对资源的威胁 490
17.1.6计算风险和区分威胁优先次序 490
17.1.7课堂练习 计算风险和区分威胁优先次序 491
17.1.8使用安全性策略评估威胁 492
17.1.9选择安全性技术 493
17.1.10设计安全服务来减轻风险 494
17.1.11开发安全性维护和更新程序 495
习题 495
第18章 验证用户输入 496
18.1用户输入 496
18.1.1用户输入的类型 496
18.1.2验证用户输入的原因 497
18.1.3用户输入验证类型 498
18.2用户输入攻击的类型 498
18.2.1 URL格式攻击 498
18.2.2 HTTP Cookie攻击 501
18.2.3 HTTP标头攻击 502
18.2.4表单数据攻击 502
18.2.5演示 表单数据攻击 503
18.2.6注入式脚本命令攻击 504
18.2.7演示 脚本命令注入攻击 505
18.2.8跨站点脚本攻击 506
18.3执行验证 515
18.3.1正则表达式 515
18.3.2在ASP.NET中使用正则表达式验证 516
18.3.3演示 使用正则表达式 518
18.3.4课堂练习 破坏该页面 518
18.4泄露给用户尽量少的信息 519
18.4.1隐藏私有信息和实现细节 519
18.4.2向用户提供反馈 520
18.4.3对用户隐藏错误细节 520
18.4.4将文本值置于安全文件中 521
18.5缓冲区溢出 521
18.5.1缓冲区溢出攻击概述 522
18.5.2堆栈溢出 522
实验 验证用户输入 528
实验设置 529
练习1验证用户输入 530
练习2创建安全用户信息 531
习题 532
第19章Internet信息服务身份验证 533
19.1 Web客户端身份验证介绍 533
19.1.1 Web服务器容易被攻击的原因 534
19.1.2身份验证与授权 534
19.1.3模拟与委托 535
19.1.4受信任的子系统模型 536
19.1.5用户标识和权限 539
19.1.6 IIS模拟Windows用户账户的实现 540
19.1.7以编程方式访问用户标识 541
19.1.8演示 以编程方式访问用户标识 543
19.2配置Web服务器的访问权限 543
19.2.1使用IP地址和域名限制 543
19.2.2使用基于Web的权限 545
19.2.3使用权限向导 547
19.3选择安全的客户端身份验证方法 548
19.3.1 IIS Web客户端身份验证概述 549
19.3.2演示 设置IIS身份验证方法 550
19.3.3使用匿名身份验证 550
19.3.4使用基本身份验证 552
19.3.5使用摘要式身份验证 554
19.3.6使用集成Windows身份验证 556
19.3.7使用Kerberos v5协议与NTLM的比较 557
19.3.8使用多种身份验证方法 559
19.3.9课堂练习 选择Web客户端身份验证方法 560
19.4使用经过验证的用户账户运行服务 561
19.4.1选择IIS应用程序保护级别 561
19.4.2配置COM+应用程序使其以指定的用户身份运行 563
19.4.3为COM+应用程序配置基于角色的安全 564
实验 身份验证和访问控制 566
实验设置 567
练习1为TailspinToys.NET Web应用程序配置IIS身份验证 567
练习2为TailspinToysAdmin.NET Web应用程序配置IIS身份验证 568
习题 569
第20章 保护Web页面安全 570
20.1 .NET代码访问和基于角色的安全性 570
20.1.1代码访问安全性的概述 571
20.1.2基于角色的安全性概述 574
20.2 ASPNET身份验证方法的概述 575
20.2.1比较ASP.NET身份验证方法 576
20.2.2配置ASPNET Web应用程序 577
20.2.3 Web.config文件中的身份验证和授权配置的设置 578
20.2.4保护单个的Web页面 580
20.2.5课堂练习 使用Web.config文件 581
20.3在ASPNET中使用Windows身份验证 583
20.3.1启用Windows身份验证 584
20.3.2课堂练习 使用Windows身份验证 585
20.4使用ASPNET Forms身份验证 587
20.4.1启用Forms身份验证 587
20.4.2 FormsAuthentication对象 588
20.4.3创建登录页面 590
20.4.4将基于角色的安全性与ASP.NETForms身份验证一起使用 592
20.4.5课堂练习 使用ASP.NET Forms身份验证 594
20.5 Microso.NET Passport身份验证概述 596
20.5.1 Microso.NET Passport的工作原理 596
20.5.2 Microso.NET Passport相关资源 597
实验 保护Web页面安全 597
实验设置 598
练习1在ASP.NET Web应用程序中实现Forms身份验证 598
练习2实现Log Out特性 601
习题 602
第21章 保护文件系统数据的安全 604
21.1保护文件安全的概述 604
21.1.1 Web应用程序执行文件(Implementation File)遭到攻击的原因 604
21.1.2保护Web应用程序执行文件 605
21.2 Windows访问控制 605
21.2.1安全描述符概述 606
21.2.2设置文件的ACL 608
21.2.3最佳实践 611
21.2.4课堂练习 查看和设置文件的ACL 613
21.2.5危险的DACL设置 614
21.3以编程方式创建ACL 615
21.3.1使用Cacls.exe设置ACL 615
21.3.2 WMI概述 617
21.3.3使用WMI设置ACL 617
21.3.4演示 使用WMI设置ACL 619
21.4保护ASP.NET Web应用程序文件 619
21.4.1 .config文件概述 620
21.4.2 ASP.NET请求处理 621
21.4.3 HpForbiddenHandler类 622
21.4.4演示 使用HpForbiddenHandler类 624
实验 使用ACL来保护文件的安全 625
实验设置 626
练习1创建新的测试用户 626
练习2确保ASP.NET Web应用程序的安全 626
习题 628
第22章 保护MicrosoSQL Seer的安全 629
22.1 SQL Server的连接与安全 629
22.1.1 SQL客户端用户身份 629
22.1.2 SQL Server中的身份验证概述 630
22.1.3配置SQL Server安全模式 631
22.1.4安全配置和连接池 632
22.1.5连接SQL Server 633
22.1.6 SQL Server登录 634
22.1.7 SQL Server权限 635
22.2基于SQL Server角色的安全性 636
22.2.1固定服务器角色 636
22.2.2数据库角色 637
22.2.3固定数据库角色 637
22.2.4用户数据库角色 637
22.2.5应用程序数据库角色 639
22.2.6演示给SQL Server添加角色和登录 641
22.2.7连接SQL Server的最佳实践 643
22.2.8课堂练习 连接SQL Server 644
22.3数据库连接字符串的存储 646
22.3.1使用DPAPI 646
22.3.2使用Web.config和Machine.cong 649
22.3.3使用UDL文件 649
22.3.4使用自定义文本文件 650
22.3.5使用注册表 651
22.3.6使用COM+目录 651
22.4保护SQL Server通信 652
22.4.1SQL Server连接API概述 652
22.4.2与SQL Server的安全通信 653
22.5防止SQL注入攻击 654
22.5.1 SQL注入攻击概述 654
22.5.2课堂练习用SQL注入攻击取得访问Web应用程序的权限 655
22.5.3防止SQL注入攻击 655
22.5.4使用ADONET的SQL参数 656
22.5.5演示 保护Web应用程序免受SQL注入攻击 657
实验 保护SQL Server数据 658
实验设置 658
练习1设置连接字符串 659
练习2调用SQL Server 660
习题 662
第23章 保证通信中的机密信息和数据完整性 664
23.1密码系统概述 664
23.1.1密码系统 665
23.1.2对称加密算法的工作机制 666
23.1.3不对称加密算法的工作机制 666
23.1.4交换和存储密钥 667
23.1.5使用哈希值校验数据完整性 674
23.1.6使用数字签名 675
23.1.7课堂练习 使用密码系统 676
23.2使用数字证书 676
23.2.1数字证书 677
23.2.2课堂练习 查看数字证书 677
23.2.3证书颁发机构 678
23.2.4证书链和层次结构 679
23.2.5证书存储区 680
23.2.6获取个人证书 681
23.2.7课堂练习 获取个人证书 682
23.2.8获取服务器证书 683
23.2.9演示 获得服务器证书 684
实验A获取服务器证书 686
练习1申请服务器证书 686
练习2安装服务器证书 687
23.3使用安全套接层(SSL)/传输层安全协议TLS) 688
23.3.1安全协议概述 689
23.3.2 SSL/TLS工作原理 689
23.3.3启用IIS Web应用程序的SSL支持 690
23.3.4演示 启用SSL 691
23.3.5确认客户端证书的真实性 692
23.3.6课堂练习 确认客户证书的真实性 693
23.3.7使用客户端证书映射 694
23.3.8演示 客户端验证映射 695
23.3.9 SSL/TLS的使用准则 696
23.3.10课堂练习在Web应用程序中使用SSL 696
23.4使用Internet通讯协议安全性 697
23.4.1 IPSec概述 698
23.4.2实现IPSec 699
23.4.3启用IPSec来确保两台服务器间的安全通信 700
23.4.4 IPSec与SSL/TLS 707
实验B保护通信中的机密信息和数据完整性 708
实验设置 708
练习1启用ASP.NET Web应用程序的SSL支持 709
练习2启用TailspinToysAdmin.NETASP.NET Web应用程序的SSL支持 711
习题 711
第24章 加密、散列和数据签名 712
24.1加密和数字签名库 712
24.1.1选择加密服务API 712
24.1.2 Windows 2000提供的CSP 714
24.1.3选择加密算法 715
24.2使用System.Secu.Cryptography命名空间散列数据 716
24.2.1散列数据 716
24.2.2课堂练习 散列数据 718
实验 对数据进行哈希运算 718
实验设置 719
练习1安装新文件 720
练习2比较哈希值 721
练习3存储密码的哈希值 723
24.3使用System.SecuCryptography命名空间加密数据和签名数据 724
24.3.1对称加密算法概述 725
24.3.2执行对称加密 725
24.3.3执行对称解密 728
24.3.4课堂练习 使用对称加密算法和不对称加密算法 729
24.3.5执行不对称加密 730
24.3.6数字签名 732
24.3.7验证数字签名 734
24.3.8课堂练习 数字签名 735
习题 735
第25章 测试Web站点的安全性 736
25.1 Web应用程序的安全性测试 736
25.1.1安全性测试的区别 736
25.1.2测试方法 737
25.1.3保持最新版本 737
25.2创建安全性测试计划 738
25.2.1安全性测试计划概述 738
25.2.2决定测试接口 738
25.2.3测试数据无效的输入数据 740
25.2.4测试数据身份验证、授权数据和实现数据 741
25.2.5测试用例的组成元素 742
25.2.6课堂练习 简单的安全性测试用例 742
25.3执行安全性测试 743
25.3.1测试方法 743
25.3.2自动化的测试工具 744
实验 安全性测试的测试用例 744
实验设置 744
练习1决定测试接口 745
练习2编写测试用例 746
练习3执行测试用例 748
习题 748
附录 实验恢复 749
词汇表 752