当前位置: 首页 > news >正文

http https

TLS握手
  1. https下的数据传输使用会话密钥进行加密。
  2. 会话密钥使用非对称加密方式传输(RSA密钥交换)。
    1. 服务器将公钥传给客户端。
    2. 客户端使用公钥加密一个pre-master secret预主密钥传给服务器。
    3. 服务器可以将其解密得到pre-master secret。
    4. 双方使用交换的随机数加上预主密钥分别生成会话密钥。
  3. 随机数在这里的作用是防重放攻击,确保每次生成的会话密钥不同。
DH密钥交换原理
  1. 约定大素数p,基底g
  2. 客户端生成随机私钥a,计算公钥:A = g^a mod p
  3. 服务端生成随机私钥b,计算公钥:B = g^b mod p
  4. 双方交换公钥
  5. 客户端生成会话密钥:B^a mod p = (g^b mod p)^a mod p = g^(ab) mod p
  6. 服务端生成会话密钥:A^b mod p = (g^a mod p)^b mod p = g^(ba) mod p

这里用到了模运算的幂保持性。另外最新的ECDHE方式具有前向保密、性能更快等优点,被TLS1.3强制使用。

HTTP与跨域:CORS
  1. 跨站请求伪造Cross-Site Request Forgery(CSRF):用户首先访问网站A,获得了cookie信息,紧接着用户又访问了网站B,浏览器会自动携带cookie信息到B。而网站B中嵌入了一条携带你的cookie去网站A的恶意操作,网站A以为这个操作来自于你,所以同意。
  2. 同源策略:浏览器默认禁止JS读取不同源的响应内容,请求可以正常发出,但是响应内容会被浏览器拦截。同源这里是指【协议+主机名+端口】完全相同。
  3. 跨域资源共享Cross-Origin Resource Sharing(CORS):由于同源策略导致无法读取跨域的内容,导致极大的不方便,例如前后端分离的分别部署,会导致前端无法访问后端内容,所以引入了CORS。
    1. 简单请求:POST、GET、HEAD请求头,并要求特定的请求头和content-type。对于简单请求,浏览器要求服务端返回Access-Control-Allow-Origin: https://your-frontend.com。浏览器会检查是否和origin匹配,匹配才不会将此响应拦截。
    2. 预检请求:也就是非简单请求。对于此类请求,浏览器会首先发送OPTION请求询问服务器Access-Control-Allow-Origin,如果验证成功,才会发送真正的请求。
同步令牌模式Anti-CSRF Token

同源策略+CORS仅仅防止恶意的内容获取,而没有对恶意写操作进行防御。所以现代银行采用同步令牌模式:服务端会在JS或者HTML中嵌入随机Token,客户端重要的写操作要求必须携带此Token,而黑客由于同源策略无法获取到这个Token。

Cookie的SameSite属性

服务端会设置SameSite=lax,如果没有设置,浏览器会默认遵守这个设置。浏览器会让跨站的POST等写请求不携带cookie信息,这样服务端就会认为用户没有登陆。所以如果前后端分离项目分别部署,就不能使用Cookie作为认证方式。

http://www.jsqmd.com/news/42940/

相关文章:

  • 使用 LLM + Atlassian MCP 1小时生成年终总结
  • 11.17比赛题解
  • 如何选择开源许可证
  • 管理者的职责:对自己负责,对团队负责,对业绩负责,对结果负责
  • 易路AI人才罗盘:盘活内部人才资产,打造精准敏捷的人才供应链
  • 25.11.17
  • 11.17日学习笔记
  • 在线升级
  • docker+jenkins实现自动化部署
  • ftp服务器搭建 linux
  • javascript类型
  • ftp工具linux
  • DNS是如何工作的
  • 美国研究生申请中介怎么选?2025高性价比机构测评推荐,藤校录取率超同行的机构盘点
  • iframe代码验证器-专业测试工具
  • 浏览器渲染逻辑
  • 不作评价。
  • 2025头皮修护精华 TOP 榜:头皮护理精华植萃 + 生物肽技术,口碑厂家全解析!
  • 正则的汉字匹配问题
  • 2025年北京搬家公司联系电话推荐榜单:速搬国际搬家精选榜单
  • float类型在MySQL中的存储方式
  • 2025年东莞厂房装修公司最新榜单:聚焦仓储物流厂房装修/恒温恒湿厂房装修定制化解决方案
  • Visual Studio 2022(VS2022)激活密钥
  • 贪心:贪心中的偏序关系
  • Flink SQL如何优化查询性能
  • 版本号
  • Flink SQL优化怎样实现高效的数据处理
  • 缓冲区计算问题
  • 13. 安全上下文
  • 12. RBAC