当前位置:首页 > 工业技术
开发安全可靠的ASP.NET3.5应用程序  涵盖C#和VB.NET
开发安全可靠的ASP.NET3.5应用程序  涵盖C#和VB.NET

开发安全可靠的ASP.NET3.5应用程序 涵盖C#和VB.NETPDF电子书下载

工业技术

  • 电子书积分:23 积分如何计算积分?
  • 作 者:(黎巴嫩)海德著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302228929
  • 页数:889 页
图书介绍:本书全面透彻地讲解ASP.NET安全原理,描述了Web应用程序开发涉及的所有重要领域。
上一篇:别墅世界下一篇:修防琐志
《开发安全可靠的ASP.NET3.5应用程序 涵盖C#和VB.NET》目录

第1章 IIS 7.0介绍 1

1.1 IIS 7.0概述 1

1.1.1 模块化架构 2

1.1.2 部署和配置管理 3

1.1.3 改进的管理方式 6

1.1.4 ASP.NET集成 9

1.1.5 安全性改进 11

1.1.6 对故障排除的改进 12

1.2 应用程序池 18

1.2.1 Integrated模式 19

1.2.2 Classic模式 19

1.3 IIS 7.0组件 20

1.3.1 协议侦听器 20

1.3.2 万维网发布服务 20

1.3.3 Windows进程激活服务 20

1.4 IIS 7.0模块 22

1.4.1 非托管模块 23

1.4.2 托管模块 25

1.5 本章小结 26

第2章 IIS 7.0和AS P.NET的Integrated模式 27

2.1 IIS 7.0和ASP.NET的Integrated模式的优点 27

2.2 IIS 7.0新增的Integrated模式的架构 29

2.2.1 system.webServer配置节组 31

2.2.2 将ASP.NET应用程序迁移到Integrated模式 40

2.2.3 使用托管处理程序和托管模块扩展IIS 7.0 48

2.3 本章小结 78

第3章 IIS 7.0的Integrated模式中的HTTP请求处理 79

3.1 内置的IUSR帐户和IIS_IUSRS组 80

3.2 在Integrated模式中针对每个请求的安全控制 81

3.2.1 请求的安全标识的保存位置 87

3.2.2 建立操作系统线程标识 92

3.3 统一的处理管道 99

3.3. 1线程标识和异步管道事件 101

3.3.2 AuthenticateRequest 111

3.3.3 DefaultAuthentication和Thread.CurrentPrincipal 118

3.3.4 PostAuthenticateRequest 121

3.3.5 AuthorizeRequest 123

3.3.6 通过PreRequestHandler Execute执行的PostAuthorize Request 136

3.3.7 在IIS一级阻塞请求 136

3.3.8 异步页面执行过程中的标识 138

3.3.9 EndRequest 144

3.4 本章小结 145

第4章 信任问题 147

4.1 ASP.NET信任级别的含义 147

4.1.1 配置信任级别 150

4.1.2 信任级别分析 155

4.1.3 从实用的角度再看信任级别 162

4.1.4 创建自定义信任级别 167

4.1.5 其他信任级别定制 171

4.1.6 在中等信任级别或部分信任ASP.NET应用程序中使用LINQ 179

4.1.7 ASP.NET定义的默认安全权限 182

4.1.8 有关部分信任的高级主题 195

4.2 本章小结 222

第5章 配置系统的安全 225

5.1 使用<location/>元素 225

5.1.1 Path属性 227

5.1.2 allowOverride属性 228

5.2 使用lockAttributes 228

5.2.1 锁定配置属性 229

5.2.2 锁定元素 231

5.2.3 锁定提供程序的定义 233

5.3 管理IIS 7.0配置与管理ASP.NET配置 235

5.4 使用托管模块和托管处理程序扩展IIS 7.0 237

5.5 管理本机配置系统与管理托管配置系统 238

5.6 IIS 7.0功能委托 239

5.7 读写配置 245

5.7.1 读取本地配置所需的权限 249

5.7.2 写入本地配置所需的权限 251

5.7.3 进行远程编辑所需的权限 253

5.8 部分信任级别的配置 255

5.8.1 requirePermission属性 257

5.8.2 利用配置类要求权限 258

5.8.3 FileIOPermission和设计时API 260

5.9 受保护配置 261

5.9.1 保护范围 262

5.9.2 选择受保护的配置提供程序 263

5.9.3 定义受保护配置提供程序 266

5.9.4 DpapiProtectedConfiguration-Provider 266

5.9.5 RsaProtectedConfiguration-Provider 269

5.9.6 aspnet_regiis选项 275

5.9.7 在部分信任应用程序中使用受保护配置提供程序 276

5.9.8 使用自定义提供程序对配置进行重定向 279

5.10 本章小结 287

第6章 表单身份验证 289

6.1 快速回顾表单身份验证 289

6.2 了解持久性票证 290

6.3 动态地保证票证的安全 296

6.3.1 签名票证的安全程度 296

6.3.2 ASP.NET 2.0和ASP.NET 3.5提供的加密选项 301

6.4 设置特定于Cookie的安全选项 305

6.4.1 requireSSL 305

6.4.2 HttpOnly Cookies 308

6.4.3 slidingExpiration 310

6.5 使用无Cookie的表单身份验证 310

6.5.1 无Cookie选项 312

6.5.2 使用无Cooke票证进行重播攻击 317

6.5.3 页面中的无Cookie票证和其他URL 319

6.5.4 使用无Cookie票证情况下的负载的规模 321

6.5.5 预期外的重定向行为 323

6.6 在IIS 7.0中配置表单身份验证 325

6.7 在ASP.NET 1.1、2.0和3.5之间共享票证 325

6.8 针对不同的内容类型使用表单身份验证 327

6.9 利用UserData属性 331

6.10 在应用程序之间传递票证 334

6.10.1 Cookie域 334

6.10.2 跨应用程序共享票证 335

6.11 强制性的单一登录和退出 359

6.11.1 强制性的单一登录 359

6.11.2 强制性退出 369

6.12 本章小结 373

第7章 将ASP.NET安全与Classic ASP进行集成 375

7.1 IIS 5 ISAPI扩展的行为 376

7.2 IIS 7.0通配符映射 377

7.2.1 配置通配符映射 378

7.2.2 资源类型设置 383

7.3 DefaultHttpHandler 384

7.4 使用DefaultHttpHandler 386

7.5 在IIS 7.0 Integrated模式中为Classic ASP提供服务 389

7.6 使用ASP.NET对Classic ASP进行身份验证 390

7.6.1 了解无Cookie的表单身份验证是否能够正常工作 393

7.6.2 将数据从ASP.NET传递给ASP 394

7.6.3 将用户名传递给ASP 396

7.7 使用IIS 7.0的Integrated模式对Classic ASP进行身份验证 396

7.8 使用ASP.NET对Classic ASP进行授权 398

7.8.1 将用户角色传递给Classic ASP 399

7.8.2 将敏感数据安全地传递给Classic ASP 401

7.8.3 散列Helper类的完整代码列表 409

7.9 使用IIS 7.0 Integrated模式对Classic ASP进行授权 413

7.10 本章小结 417

第8章 会话状态 419

8.1 比较会话状态与登录会话 419

8.2 会话数据划分 421

8.3 基于Cookie的会话 423

8.3.1 在不同应用程序之间共享Cookie 423

8.3.2 保护会话Cookie 425

8.3.3 会话ID重用 425

8.4 无Cookie会话 426

8.5 在IIS 7.0内部配置会话 427

8.6 在IIS 7.0 Integrated模式下运行的应用程序的会话状态 429

8.7 会话ID重用和过期的会话 437

8.8 会话ID拒绝服务攻击 438

8.9 信任级别和会话状态 441

8.10 SQL会话状态数据库的安全 446

8.11 OOP状态服务器的安全选项 448

8.12 本章小结 449

第9章 页面安全和编译安全 451

9.1 请求验证和视图状态保护 451

9.1.1 请求验证 451

9.1.2 保护视图状态的安全 452

9.2 页面编译 456

9.3 欺骗性的回发 460

9.4 站点导航的安全性 464

9.5 本章小结 469

第10章 提供程序模型 471

10.1 使用提供程序的原因 471

10.2 提供程序模型使用的模式 474

10.2.1 策略模式 474

10.2.2 工厂方法 476

10.2.3 单件模式 483

10.2.4 外观模式 485

10.3 核心提供程序类 486

10.3.1 System.Configuration.Provider类 486

10.3.2 System.Web.Configuration类 492

10.3.3 System.Configuration类 492

10.4 构造基于提供程序的功能 497

10.5 本章小结 521

第11章 成员资格 523

11.1 成员资格类 523

11.2 MembershipUser类 527

11.2.1 扩展MembershipUser 529

11.2.2 更新后的Membership-User状态 533

11.2.3 只有特定的程序属性可以进行更新 539

11.2.4 与DateTime有关的假设 540

11.3 MembershipProvider基类 542

11.3.1 基本配置 546

11.3.2 创建用户和更新用户 546

11.3.3 检索单个用户的数据 549

11.3.4 检索和搜索多个用户 550

11.3.5 对用户凭据进行验证 550

11.3.6 支持自助式密码重置或检索 552

11.3.7 跟踪在线用户 554

11.3.8 常规错误处理方法 555

11.4 成员资格功能的“主键” 557

11.5 成员资格功能支持的环境 559

11.6 使用自定义的散列算法 562

11.7 本章小结 565

第12章 SqlMembershipProvider 567

12.1 理解公用的数据库架构 567

12.1.1 存储应用程序名称 568

12.1.2 公用的用户数据表 569

12.1.3 对提供程序架构进行版本控制 572

12.1.4 使用视图查询公用数据表 574

12.1.5 将自定义功能链接到用户记录 575

12.1.6 调用LOWER函数的原因 578

12.2 成员资格数据库架构 579

12.3 使用SQL Server Express 583

12.3.1 使用SSE时的共享问题 589

12.3.2 修改SSE连接字符串 590

12.4 数据库安全 591

12.5 数据库架构和DBO用户 593

12.6 修改密码格式 595

12.7 自定义密码生成 597

12.8 实现自定义加密方案 601

12.9 执行自定义密码强度规则 604

12.9.1 挂接ValidatePassword事件 607

12.9.2 实现密码历史记录 608

12.10 帐户锁定 626

12.11 实现自动解锁 629

12.12 支持动态应用程序 635

12.13 通过IIS 7.0管理应用程序的用户 641

12.14 本章小结 645

第13章 ActiveDirectoryMembership Provider 647

13.1 ActiveDirectoryMembership-Provider支持的目录架构 647

13.2 提供程序配置 650

13.2.1 目录连接设置 650

13.2.2 目录架构映射 653

13.2.3 针对搜索的提供程序设置 656

13.2.4 MembershipProvider设置 657

13.3 提供程序功能的独特方面 659

13.4 ActiveDirectoryMembership-User 662

13.4.1 IsApproved和IsLockedOut 663

13.4.2 使用ProviderUserKey程序属性 664

13.5 使用Active Directory 665

13.5.1 UPN和ASM帐户名称 667

13.5.2 容器嵌套 669

13.5.3 保护容器的安全 670

13.5.4 配置自助服务密码重置 676

13.6 使用ADLDS 684

13.6.1 使用应用程序分区安装ADLDS 685

13.6.2 使用应用程序分区 690

13.7 在部分信任条件下使用提供程序 692

13.8 本章小结 698

第14章 角色管理器 699

14.1 Roles类 699

14.2 RolePrincipal类 703

14.3 RoleManagerModule模块 715

14.3.1 PostAuthenticateRequest 716

14.3.2 EndRequest 719

14.3.3 角色缓存Cookie的设置及行为 720

14.3.4 在GetRoles中使用多个提供程序 722

14.4 RoleProvider 730

14.4.1 基本配置 732

14.4.2 授权方法 733

14.4.3 管理角色和角色关联 733

14.5 WindowsTokenRoleProvider 734

14.6 本章小结 741

第15章 SqlRoleProvider 743

15.1 SqlRoleProvider数据库架构 743

15.1.1 特定于SQL Server的提供程序配置项 745

15.1.2 事务行为 746

15.2 提供程序的安全 746

15.2.1 信任级别要求及配置 747

15.2.2 数据库安全 753

15.3 使用Windows身份验证 754

15.4 基于受限的角色集运行 756

15.5 在数据层使用角色进行授权 763

15.6 支持动态应用程序 765

15.7 通过IIS 7.0管理应用程序的角色 766

15.8 本章小结 769

第16章 AuthorizationStoreRole Provider 771

16.1 提供程序设计 771

16.2 支持的功能 774

16.3 使用基于文件的策略存储 776

16.4 使用基于目录的策略存储 779

16.5 使用基于Microsoft SQL Server数据库的策略存储 788

16.6 在部分信任环境下工作 791

16.7 同时使用成员资格和角色管理 794

16.8 本章小结 797

第17章 ASP.NET AJAX 3.5中的成员资格和角色管理 799

17.1 ASP.NET成员资格和角色服务概述 799

17.1.1 ASP.NET成员资格 800

17.1.2 ASP.NET角色管理 802

17.2 ASP.NET AJAX应用程序服务 804

17.2.1 启用使用了ASP.NET AJAX 3.5的ASP.NET应用程序 804

17.2.2 启用ASP.NET应用程序服务 810

17.2.3 AuthenticationService-Manager和RoleService-Manager类 812

17.2.4 身份验证服务 814

17.2.5 角色服务 825

17.3 本章小结 830

第18章 保证ASP.NET Web应用程序安全的最佳实践 833

18.1 Web应用程序安全威胁概述 834

18.2 开发人员的注意事项 836

18.2.1 了解应用程序的用户 836

18.2.2 以最低权限运行应用程序 838

18.2.3 验证用户输入 839

18.2.4 保护Cookie的安全 848

18.2.5 保护数据库访问的安全 850

18.2.6 SQL注入攻击 859

18.2.7 跨网站脚本攻击 863

18.2.8 跨网站请求伪造 867

18.2.9 合理地处理异常 871

18.2.10 防止拒绝服务攻击 876

18.2.11 确保数据传输的安全 882

18.3 启用了AJAX的应用程序的安全性 882

18.3.1 信息泄露 883

18.3.2 JSON劫持 885

18.3.3 放大的跨网站脚本 887

18.4 本章小结 889

返回顶部