从你输入网址,到服务器返回数据,每一步的安全机制依次生效,结合你之前掌握的 SSL、Cookie、Token、CSRF,完整串讲👇
0. 准备阶段:DNS 查询
-
浏览器查询域名对应IP
-
若使用 DoH/DoT(DNS over HTTPS/TLS)
- → DNS 请求也被SSL加密,防止DNS劫持
1. 建立连接:TLS/SSL 握手(通道安全)
-
浏览器发起HTTPS请求,协商加密套件
-
服务器返回SSL证书
-
浏览器验证证书可信(系统根证书)
-
浏览器生成会话密钥,用服务器公钥加密发送
-
服务器用私钥解密,双方持有相同密钥
✅ 作用:后续所有传输全加密,防窃听、篡改
2. 首次访问页面:下发身份凭证
-
服务器生成:
-
SessionID或JWT Token -
CSRF Token
-
-
通过Set-Cookie响应头下发
Set-Cookie: sessionid=abc123; HttpOnly; Secure; SameSite=Strict Set-Cookie: csrftoken=xyz789 -
浏览器自动保存Cookie
关键安全点
-
HttpOnly:禁止JS读取,防XSS窃取Cookie
-
Secure:仅HTTPS传输
-
SameSite:缓解CSRF攻击
3. 浏览器渲染页面:XSS防护
-
服务器对用户输入内容转义过滤
-
返回CSP头部,限制资源加载
Content-Security-Policy: default-src 'self'
✅ 作用:防止恶意脚本注入,窃取Token/Cookie
4. 发起提交请求(如登录、发消息)
请求携带内容
-
Cookie :浏览器自动带上
sessionid+csrftoken -
CSRF Token:从表单隐藏域/请求头携带
-
请求参数:账号、密码等
额外安全校验
-
时间戳timestamp:防止请求过期
-
随机串nonce:防重放攻击
-
参数签名sign:防参数篡改
5. 浏览器发起跨域请求:CORS校验
-
浏览器先发送OPTIONS预检请求
-
服务器返回跨域头:
Access-Control-Allow-Origin: https://www.doubao.com Access-Control-Allow-Credentials: true -
校验通过才发送真实请求
✅ 作用:禁止非法域名调用接口
6. 服务器接收请求:多层校验
-
SSL解密:获取明文请求
-
Cookie/Token校验:确认用户身份
-
CSRF Token匹配:防跨站伪造请求
-
重放校验:timestamp有效期、nonce未使用过
-
签名校验:参数未被篡改
-
权限校验RBAC:判断是否有权限操作
-
限流校验:单位时间请求次数是否超标
7. 数据处理与存储
-
密码不存明文,使用bcrypt/Argon2哈希加密
-
敏感数据(手机号、身份证)AES加密存储
-
记录操作日志
8. 服务器返回响应
-
数据用会话密钥加密后传输
-
浏览器解密,渲染页面
-
F12展示的就是解密后的明文内容
完整安全模型口诀(可直接记忆)
SSL加密通道,
Cookie存身份,Token验身份,
CSRF防伪造,
XSS防窃取,CSP护页面,
CORS控跨域,签名防篡改,
时间戳防重放,限流防攻击,
RBAC控权限,哈希存密码。