《面向.NET的Web应用程序设计》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)微软公司著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2004
  • ISBN:7040141027
  • 页数:757 页
图书介绍:本书包括:Microsoft .NET Framework概述、使用Microsoft Visual Studio .NET、使用基于icrosoft .NET的开发语言、创建Microsoft ASP.NET Web窗体、在Microsoft ASP.NET Web窗体中添加代码、Microsoft ASP.NET Web应用程序的跟踪机制、验证用户输入、创建用户控件、使用icrosoft Visual Studio .NET访问关系型数据、使用Microsoft ADO.NET访问数据、通过Microsoft ADO.NET调用存储过程、读写XML数据、使用和创建XML Web service、Web安全性介绍、Web应用程序安全性规划、验证用户输入、Internet信息服务身份验证等内容。

第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