web加密处理:
HTTPS加密传输:https在传输过程中是可以通过加密来保护数据安全的,以免用户名敏感信息被第三方获取。可以说https是http的升级版、安全版,即:https=http+ssl
- 客服端发起https请求,连接到服务端的443端口(https协议默认的端口)
- 服务段提供证书公钥和私钥
- 返回证书的公钥
- 客户端解析证书:判断证书是否有效、生成随机值、公钥加密随机数
- 将加密后的随机数发送给服务端
- 服务端使用私钥进行解密,得到随机数
- 服务端将加密的内容发回客户端
- 客户端根据本地存储的随机数进行解密
RAS加密:非对称加密算法,仅存在理论上破解的可能
web会话
HTTP协议:http是一个无状态的协议。一旦数据交互完成,客户端与服务端的连接就会关闭,再次交互需重新建立新的链接,服务器无法从连接上跟踪会话。
会话跟踪:是web应用程序中常用的即使,用来跟踪用户的整个绘画。常用的会话跟踪技术有cookie与session。cookie通过在客户端记录信息确定用户身份,Session通过在服务端记录的信息确定用户身份。
cookie:同一个用户的所有请求操作属于同一个会话,cookie用来跟踪会话状态,你不http协议无法跟踪会话的不足。
- 客户端发起http请求
- 服务端响应http,返回中会在http响应的响应头中添加set-cookie
- 客户端再次访问时就会携带cookie
- 客户端返回对应的响应
cookie包含的属性 - name:创建cookie名称
- value:设定的特定cookie值
- expire:过期时间
- path:cookie的服务器路径
- domain:规定cookie的域名
- secure:规定是否需要在安全的https连接传输cookie
- HttpOnly:客户端是否可写
cookie的安全问题 - http协议不仅是无状态的,而且是不安全的
- cookie在传输过程中存在截获的可能,所以应保证其在https协议下传输或进行加密操作
- 使用httponly,防止XSS攻击
session:是服务器段记录客户状态的一种机制
- session在服务器端应用程序被客户端访问时产生,并存储与服务端
- session具有唯一标识的sessionid,在请求过程中用来重新获得该session
- session存在后即可向session中存储数据,这些内容只存在与服务端
- 发送客户端只有sessionid,以后在客户端发请求就可以在cookie中携带sessionid