网络安全杂谈- CORS/CSRF/XSS

本文介绍了CORS如何解决浏览器的跨域限制,包括原理、安全问题及其解决方案。同时,详细解释了XSS攻击的类型和防范措施,以及CSRF的概念和防御策略。还讨论了网络安全人才短缺与就业前景,以及学习网络安全的相关资源和路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、️ CORS

1.1 为什么会跨域

出于浏览器的同源策略限制,浏览器会拒绝跨域请求。

同源: 域名、端口、协议都相同,称为同源。

例如以下地址都不同源:

www.domain.com

www.domian.com // 协议不同

www.domain.com:30001 // 端口不同

一般情况下,浏览器碰到请求是这么玩儿的:

  1. client发送请求,请求头加上origin字段表示发送请求的源。
  2. server端响应请求,浏览器接到响应报文,一看,当前页面origin和server origin不同源,拒绝该请求

简单请求直接发送GET/POST请求,非简单请求发送OPTIONS请求检查请求头。

所以我们会发现,在前后端分离的项目中,我们的服务一般是布在不同的服务器上,或是同一台服务器的不同端口,这个时候我们去调用接口,就会出现跨域问题。

当然,script标签,img、video等等都不受同源策略限制,否则你的网站上都没有办法加载其他地方的图片了。

1.2 CORS解决跨域原理

了解了跨域产生的原因,我们可以想到,可不可以和浏览器约定,对于在返回的请求报文里添加一些信息,告诉她某些地址可以绕过同源策略。

CORS跨域就是这个原理,你可以在服务器端添加一个Access-Control-Allow-Origin表示可以接受的跨域请求源。

假设你的client起在 domaina.com:3000,server起在domian2.com:8080,在server端设置了响应报文头为Access-Control-Allow-Origin:domaina.com

  1. Client 发送请求到server端
  2. server端给响应报文添加Access-Control-Allow-Origin:domaina.com
  3. client浏览器收到响应报文,看到有Access-Control-Allow-Origin字段,从当前client地址domaina.com:3000去匹配,发现当前地址是被允许跨域的,于是返回响应。<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值