搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Python全栈安全/网络空间安全丛书
0.00     定价 ¥ 98.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787302605683
  • 作      者:
    作者:(美)丹尼斯·伯恩|责编:王军|译者:赵宏伟//姚领田//冯少栋//唐进
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2022-07-01
收藏
编辑推荐

安全是一个全栈性问题,包括用户接口、API、Web服务器、网络基础设施等。通过掌握强大的库、框架以及Python生态系统中的工具,你可自上而下地保护自己的系统。本书列举大量实例,插图清晰,代码丰富,准确地告诉你如何保护基于Python的Web应用程序。

《Python全栈安全》由经验丰富的安全专家Dennis Byrne撰写,讲解保护Python和基于Django的Web应用程序所需的一切,解释安全术语,揭开算法的神秘面纱。

本书开篇清晰讲解加密基础知识,然后循序渐进地讲述如何实施多层防御、安全的用户身份验证、安全的第三方访问,分析如何保护应用程序免受常见黑客攻击。


展开
作者简介

Dennis Byrne 是23andMe 架构团队的成员,负责保护1000 多万客户

的基因数据和隐私。在23andMe 之前,Dennis 是LinkedIn 的软件工程师。

Dennis 是一名健美运动员和GUE 洞穴潜水员。他目前住在硅谷,远离阿

拉斯加(他在那里长大并求学)。


展开
内容介绍
安全是一个全栈性问题,包括用户接口、API、Web服务器、网络基础设施等。通过掌握强大的库、框架以及Python生态系统中的工具,你可自上而下地保护自己的系统。本书列举大量实例,插图清晰,代码丰富,准确地告诉你如何保护基于Python的Web应用程序。 《Python全栈安全》由经验丰富的安全专家Dennis Byrne撰写,讲解保护Python和基于Django的Web应用程序所需的一切,解释安全术语,揭开算法的神秘面纱。 本书开篇清晰讲解加密基础知识,然后循序渐进地讲述如何实施多层防御、安全的用户身份验证、安全的第三方访问,分析如何保护应用程序免受常见黑客攻击。
展开
目录


第Ⅰ部分  密码学基础

第1章  纵深防御   3

1.1  攻击面   4

1.2  什么是纵深防御   6

1.2.1  安全标准   7

1.2.2  最佳实践   8

1.2.3  安全基本原则   9

1.3  工具   11

1.4  小结   15

第2章  散列   17

2.1  什么是散列函数   17

2.2  原型人物   22

2.3  数据完整性   23

2.4  选择加密散列函数   24

2.4.1  哪些散列函数是安全的   24

2.4.2  哪些散列函数是不安全的   25

2.5  Python中的加密散列   27

2.6  校验和函数   30

2.7  小结   31

第3章  密钥散列   33

3.1  数据身份验证   33

3.1.1  密钥生成   34

3.1.2  什么是密钥散列   37

3.2  HMAC函数   39

3.3  时序攻击   43

3.4  小结   45

第4章  对称加密   47

4.1  什么是加密   47

4.2  cryptography包   50

4.2.1  危险品层   50

4.2.2  配方层   51

4.2.3  密钥轮换   53

4.3  什么是对称加密   54

4.3.1  分组密码   54

4.3.2  流密码   56

4.3.3  加密模式   57

4.4  小结   61

第5章  非对称加密   63

5.1  密钥分发问题   63

5.2  什么是非对称加密   64

5.3  不可否认性   69

5.3.1  数字签名   70

5.3.2  RSA数字签名   71

5.3.3  RSA数字签名验证   72

5.3.4  椭圆曲线数字签名   73

5.4  小结   76

第6章  传输层安全   77

6.1  SSL、TLS和HTTPS   77

6.2  中间人攻击   78

6.3  TLS握手   80

6.3.1  密码套件协商   80

6.3.2  密钥交换   81

6.3.3  服务器身份验证   84

6.4  Django与HTTP   88

6.5  Gunicorn与HTTPS   91

6.5.1  自签名公钥证书   92

6.5.2  Strict-Transport-Security响应头   94

6.5.3  HTTPS重定向   95

6.6  TLS和requests包   96

6.7  TLS和数据库连接   97

6.8  TLS和电子邮件   99

6.8.1  隐式TLS   99

6.8.2  电子邮件客户端身份验证   100

6.8.3  SMTP身份验证凭据   100

6.9  小结   101

第Ⅱ部分  身份验证和授权

第7章  HTTP会话管理   105

7.1  什么是HTTP会话   105

7.2  HTTP cookie   107

7.2.1  Secure指令   108

7.2.2  Domain指令   108

7.2.3  Max-Age   109

7.2.4  浏览器长度的会话   110

7.2.5  以编程方式设置cookie   110

7.3  会话状态持久化   111

7.3.1  会话序列化程序   111

7.3.2  简单的基于缓存的会话   113

7.3.3  基于直写式缓存的会话   116

7.3.4  基于数据库的会话引擎   116

7.3.5  基于文件的会话引擎   117

7.3.6  基于cookie的会话引擎   117

7.4  小结   122

第8章  用户身份验证   123

8.1  用户注册   124

8.1.1  模板   128

8.1.2  Bob注册账户   131

8.2  什么是用户身份验证   132

8.2.1  内置Django视图   133

8.2.2  创建一个Django应用   134

8.2.3  Bob登录和注销   137

8.3  简明要求身份验证   139

8.4  测试身份验证   140

8.5  小结   142

第9章  用户密码管理   143

9.1  密码变更工作流程   143

9.2  密码存储   149

9.2.1  加盐散列   152

9.2.2  密钥派生函数   154

9.3  配置密码散列   158

9.3.1  原生密码散列器   159

9.3.2  自定义密码散列器   160

9.3.3  Argon2密码散列   160

9.3.4  迁移密码散列器   161

9.4  密码重置工作流程   166

9.5  小结   169


第10章  授权   171

10.1  应用程序级授权   172

10.1.1  权限   173

10.1.2  用户和组管理   175

10.2  强制授权   180

10.2.1  低级困难方式   180

10.2.2  高级简单方式   183

10.2.3  条件渲染   185

10.2.4  测试授权   186

10.3  反模式和最佳实践   187

10.4  小结   188

第11章  OAuth 2   189

11.1  给予类型   190

11.2  Bob授权Charlie   195

11.2.1  请求授权   196

11.2.2  给予授权   197

11.2.3  令牌交换   197

11.2.4  访问受保护的资源   198

11.3  Django OAuth Toolkit   200

11.3.1  授权服务器职责   201

11.3.2  资源服务器职责   204

11.4  requests-oauthlib   209

11.5  小结   213

第Ⅲ部分  抵御攻击 

第12章  使用操作系统   217

12.1  文件系统级授权   217

12.1.1  请求许可   218

12.1.2  使用临时文件   219

12.1.3  使用文件系统权限   220

12.2  调用外部可执行文件   222

12.2.1  用内部API绕过shell   224

12.2.2  使用subprocess模块   226

12.3  小结   228

第13章  永远不要相信输入   229

13.1  使用Pipenv进行包管理   229

13.2  YAML远程代码执行   232

13.3  XML实体扩展   235

13.3.1  二次爆炸攻击   235

13.3.2  十亿笑攻击   236

13.4  拒绝服务   238

13.5  Host标头攻击   239

13.6  开放重定向攻击   243

13.7  SQL注入   246

13.7.1  原始SQL查询   247

13.7.2  数据库连接查询   248

13.8  小结   249

第14章  跨站脚本攻击   251

14.1  什么是XSS   251

14.1.1  持久型XSS   252

14.1.2  反射型XSS   253

14.1.3  基于DOM的XSS   254

14.2  输入验证   256

14.3  转义输出   263

14.3.1  内置的渲染实用程序   264

14.3.2  HTML属性引用   266

14.4  HTTP响应标头   267

14.4.1  禁用对cookie的JavaScript访问   267

14.4.2  禁用MIME类型嗅探   270

14.4.3  X-XSS-Protection标头   271

14.5  小结   272

第15章  内容安全策略   273

15.1  编写内容安全策略   274

15.1.1  获取指令   276

15.1.2  导航和文档指令   280

15.2  使用django-csp部署策略   281

15.3  使用个性化策略   283

15.4  报告CSP违规   286

15.5  CSP Level 3   288

15.6  小结   289

第16章  跨站请求伪造   291

16.1  什么是请求伪造   291

16.2  会话ID管理   293

16.3  状态管理约定   295

16.4  Referer标头验证   298

16.5  CSRF令牌   301

16.5.1  POST请求   301

16.5.2  其他不安全的请求方法   303

16.6  小结   304

第17章  跨源资源共享   307

17.1  同源策略   307

17.2  简单CORS请求   309

17.3  带django-cors-headers的CORS   311

17.4  CORS预检请求   314

17.4.1  发送预检请求   314

17.4.2  发送预检响应   318

17.5  跨源发送cookie   319

17.6  CORS和CSRF抵御   321

17.7  小结   322

第18章  点击劫持   323

18.1  X-Frame-Options标头   326

18.2  Content-Security-Policy标头   327

18.3  与Mallory同步   329

18.4  小结   330


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证