web安全基础知识(二)

web安全基础知识(接上篇文章)

十,HTTP认证——BASIC认证

1,认证过程:
(1)客户端发起HTTP请求,请求的资源是受限资源(登陆可以访问)
(2)服务器接收到请求后,先不返回资源,给客户端返回登录名和密码
(3)客户端收到页面后输入用户名和密码,发送给服务器。服务器返回数据库验证
(4)验证成功后用户可以访问首先资源
2,用途:小型网络认证(如路由器)
3,特点:base64编码后明文传输用户名及口令
4,优点:几乎所有浏览器都支持
5,缺点:安全性无保障

十一,HTTP认证——HTTP OAuth

1,认证过程
客户端询问用户是否经过授权,同意授权后,客户端向第三方服务器请求token,认证服务通过后返回token,接下来的请求的资源会携带token去请求
2,OAuth认证过程
实现功能:豆瓣授权登陆页面,第三方登录OAuth认证。
①用户请求豆瓣网站登录,登陆后用户请求第三方QQ等率,豆瓣执行302跳转到QQ授权网站
②执行完跳转以后相当于用户向授权服务器发送请求,即用户想QQ授权服务器发送请求
③用户输入QQ的用户名和密码,给QQ的授权服务器进行认证。认证成功后执行302网站跳转,跳转回豆瓣网站,此时携带的含有QQ授权信息的token
④在浏览器端感知不到,最终完成用户看起来登录成功,并进入了豆瓣首页
⑤接下来的请求直接向豆瓣请求,豆瓣每次请求都会向QQ服务器发送请求,携带的就是之前验证成功信息的token,返回200,接下来携带着有用户名、密码等信息的返回请求。登陆时发现QQ信息同步到豆瓣网站上。
——这个过程叫做OAuth认证。

十二,HTTP认证——Cookie Auth

是什么?用户请求网站;网站要求提供用户名和密码认证;认证成功后。网站将返回一个cookie信息;洪武再次登录,如果没有清楚cookie,则不需要再进行认证。

十三,SSL/TLS

是什么?用于在两个通信应用程序之间提供保密性和数据完整性的通信协议;TLS是SSL的继任者,叫传输层安全

十四,HTTP和HTTPS的区别

HTTP明文传输,80端口
HTTPS加密传输,443端口

十五,TLS握手过程

在这里插入图片描述

十六,HTTPS握手过程

在这里插入图片描述

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值