《ASP.NET安全编程入门经典》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)多兰斯著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302263746
  • 页数:381 页
图书介绍:本书以Microsoft ASP.NET和C#语言为基础,以Web站点安全为中心,结合当今最流行的站点开发技术来探讨如何保护ASP.NET站点的安全性。

第1章 Web安全的重要性 1

1.1案例解析 1

1.2风险与回报 4

1.3构建安全体系 5

1.3.1分层防御 6

1.3.2不存在可信任的输入数据 7

1.3.3关注错误提醒 7

1.3.4监视攻击 7

1.3.5使用最小特权 7

1.3.6防火墙和加密不能确保安全 8

1.3.7安全应该是默认状态 8

1.3.8代码防御 8

1.4 OWASP中的十大安全隐患 9

1.5进一步学习 10

1.6本章小结 10

第I部分 ASP&NET安全基础 13

第2章 Web工作原理 13

2.1深入理解HTTP 13

2.1.1请求资源 14

2.1.2请求响应 15

2.1.3嗅探HTTP请求和响应 17

2.2理解HTML表单 18

2.3 ASP.NET的工作原理 27

2.3.1理解ASP.NET事件的工作原理 27

2.3.2检查ASP.NET管道 31

2.3.3编写HTTP模块 31

2.4本章小结 34

第3章 安全接受用户输入 35

3.1定义输入 35

3.2安全处理输入 36

3.2.1安全应答用户输入 37

3.2.2缓解XSS攻击 41

3.2.3Microsoft Anti-XSS库 43

3.2.4限制输入 45

3.2.5保护cookie 48

3.3验证表单输入 49

3.3.1验证控件 51

3.3.2标准的ASP.NET验证控件 52

3.4本章小结 59

第4章 查询字符串、表单域、事件和浏览器信息的用法 61

4.1使用合适的输入类型 61

4.2查询字符串 62

4.3表单域 63

4.4避免请求伪造 64

4.5保护ASP.NET事件 76

4.6避免浏览器信息错误 78

4.7本章小结 80

第5章 控制信息 81

5.1控制ViewState 81

5.1.1验证ViewState 83

5.1.2加密ViewState 85

5.1.3保护ViewState避免一键攻击 85

5.1.4从客户端页面中删除ViewState 87

5.1.5禁用浏览器缓存 88

5.2错误处理和日志记录 88

5.2.1改善错误处理 90

5.2.2注意特殊异常 91

5.2.3记录错误和监视应用程序 91

5.3限制搜索引擎 104

5.3.1使用元标记控制机器人 105

5.3.2使用robots.txt文件控制机器人 105

5.4保护配置文件中的密码 106

5.5本章小结 108

第6章 散列和加密 109

6.1使用散列保护完整性 110

6.1.1选择散列算法 110

6.1.2保护散列密码 112

6.2加密数据 115

6.2.1对称加密 116

6.2.2使用非对称加密来共享数据 123

6.2.3使用Windows DPAPI 138

6.3本章小结 139

第Ⅱ部分 保护常见的ASP.NET任务 143

第7章 添加用户名和密码 143

7.1身份验证和授权 144

7.2发现您自己的身份 144

7.3添加ASP.NET身份验证 146

7.3.1表单身份验证 146

7.3.2 Windows身份验证 157

7.4 ASP.NET授权 161

7.4.1检查<allow>和<deny>元素 162

7.4.2基于角色授权 163

7.4.3限制访问文件或者文件夹的权限 168

7.4.4以编程方式检查用户和角色 171

7.5本章小结 171

第8章 安全访问数据库 173

8.1糟糕代码:演示SQL注入攻击 174

8.2修补漏洞 179

8.3更多SQL Server安全措施 182

8.3.1没有密码的连接 183

8.3.2 SQL权限 184

8.3.3使用视图 186

8.3.4 SQL Express用户实例 187

8.3.5内置Web Server的缺点 188

8.3.6动态SQL存储过程 188

8.3.7使用SQL加密 189

8.4本章小结 193

第9章 使用文件系统 195

9.1安全访问现有的文件 195

9.1.1静态文件的安全性 201

9.1.2文件下载和设置文件名 204

9.1.3更深入的文件访问检查 204

9.1.4访问远程文件 206

9.2安全创建文件 206

9.3处理用户上传文件 209

9.4本章小结 212

第10章 保护×ML 213

10.1验证XML 213

10.1.1格式良好的XML 213

10.1.2有效的XML 214

10.1.3XML解析器 215

10.2查询XML 222

10.3保护XML文档 225

10.3.1加密XML文档 226

10.3.2签名XML文档 234

10.4本章小结 240

第Ⅲ部分 ASP.NET高级内容 243

第11章 与WCF共享数据 243

11.1创建和使用WCF服务 243

11.2 WCF的安全和隐秘性 247

11.2.1传输安全模式 247

11.2.2消息安全模式 248

11.2.3混合模式 249

11.2.4选择安全模式 249

11.2.5选择客户端凭据 249

11.3增加Internet服务的安全性 250

11.4使用WCF签名消息 261

11.5 WCF的日志和审计功能 265

11.6使用检查器来验证参数 267

11.7使用消息检查器 269

11.8在WCF中抛出错误 273

11.9本章小结 274

第12章 保护RlA 277

12.1 RIA体系结构 278

12.2 Ajax应用程序的安全性 278

12.2.1 XMVLHttpRequest对象 279

12.2.2 Ajax同源策略 280

12.2.3 Microsoft ASP.NET Ajax架构 281

12.3 Silverlight应用程序的安全性 289

12.3.1 CoreCLR安全模型 289

12.3.2使用HTML Bridge 291

12.3.3访问本地文件系统 295

12.3.4在Silverlight中使用加密算法 297

12.3.5使用Silverlight访问Web和Web服务 300

12.4在Ajax和Silverlight中使用ASP.NET身份验证和授权 301

12.5本章小结 302

第13章 代码访问安全性 303

13.1代码访问安全性 303

13.1.1 ASP.NET信任级别 305

13.1.2 NET 4新特性 314

13.2本章小结 315

第14章 保护llS 317

14.1安装和配置IIS7 317

14.1.1IIS角色服务 319

14.1.2创建和配置应用程序池 322

14.1.3在IIS中配置信任级别 324

14.2过滤请求 326

14.2.1过滤双重编码请求 327

14.2.2使用非ASCII字符过滤请求 327

14.2.3以文件扩展名为基础过滤请求 327

14.2.4以请求大小为基础过滤请求 328

14.2.5以HTTP动词为基础过滤请求 328

14.2.6以URL序列为基础过滤请求 329

14.2.7以请求段为基础过滤请求 329

14.2.8以请求头文件为基础过滤请求 329

14.2.9拒绝请求的状态码 330

14.3使用Log Parser挖掘IIS日志文件 330

14.4使用证书 336

14.4.1请求SSL证书 337

14.4.2配置站点以使用HTTPS 339

14.4.3建立测试CA 339

14.5本章小结 341

第15章 第三方身份验证 343

15.1联合身份简史 343

15.2使用WIF接收SAML和Information Card 346

15.2.1创建一个声明感知Web站点 347

15.2.2接受Information Card 349

15.2.3使用声明身份 357

15.3在Web站点中使用OpenID 358

15.4在Web站点中使用Windows Live ID 363

15.5表单身份验证与第三方身份验证集成策略 366

15.6本章小结 367

第16章 ASP.NET MVC架构安全开发 369

16.1 MVC输入和输出 370

16.1.1避免XSS攻击 370

16.1.2避免CSRF攻击 371

16.1.3保护模型绑定 371

16.1.4模型验证和错误消息 373

16.2 ASP.NET MVC身份验证和授权 375

16.2.1授权操作和控制器 376

16.2.2保护公共控制器方法 377

16.2.3发现当前用户 377

16.2.4使用授权过滤器自定义授权 378

16.3错误处理 379

16.4本章小结 381