http八股 跨域的本质 请求行 请求头 请求体 xss
1小八股
介绍 http 请求分为三个部分,请求行,请求头,请求体
还有状态码的含义
https://juejin.cn/post/7096317903200321544
2tips
Content-Type 影响 chrome 调试时的显示方式
如果是 Content-Type: application/json 浏览器只能显示 request Payload
如果是 Content-Type: multipart/form-data 或 Content-Type: application/x-www-form-urlencoded 浏览器会显示 formData
https://blog.dianduidian.com/post/form-data与request-payload的区别/
3小八股
跨域及处理方案
https://xie.infoq.cn/article/5156a813bf49b0ca0feada736
4大八股
跨域问题的本质:为了防范 CSRF 攻击
来源:https://catcat.cc/post/2020-06-23/
CSRF 攻击原理是创建假网站,诱导用户从该网站上向服务器请求资源,该攻击方式可以窃取用户 cookie 伪造用户身份
如何避免,就是通过跨域策略,浏览器拦截服务器返回的响应,如果服务器只允许同源网站访问,那么就会拦截该响应
我们写前端的时候,如果和服务器不同源,我们就会被当成假冒网站,被浏览器拦截
可以通过代理等方式绕过跨域,也可以让后端对不需要保护的资源开放跨域
服务端开放跨域之后还有另外一种办法保证请求是来自正规网站,而非假冒网站,那就是 CSRF token ,用户请求资源的时候需要带着浏览器中的cookie和正规网页中的token
如果是假冒网站,假冒网站能访问到cookie,但是访问不到token
xss攻击
其中还提到了xss攻击,xss攻击利用不明参数进行攻击,不明参数攻击只能攻击到jsp,php等模板渲染网站,像vue这种需要dom攻击(因为是前端页面处理的url),一些带评论的网站用存储型攻击
xss是注入攻击的一种,sql注入也是注入攻击
【注】:他文章中提到的第一方第三方,第一方是指用户当前使用的网站,不管是正规还是假冒,第三方是指服务器
xss只包含第一方,所以不会有跨域问题
美团技术博客中详细介绍了几种xss攻击,并没有涉及到跨域关键词
https://tech.meituan.com/2018/09/27/fe-security.html
http八股 跨域的本质 请求行 请求头 请求体 xss的更多相关文章
- HTTP 笔记与总结(2 )HTTP 协议的(请求行的)请求方法 及 (响应行的)状态码
(请求行的)请求方法 包括: GET,POST,HEAD,PUT,TRACE,DELETE,OPTIONS 注意:这些请求方法虽然是 HTTP 协议规定的,但是 Web Server 未必允许或支持这 ...
- jsonp 跨域请求
背景: JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为"Same-Origin Policy"(同源 ...
- ajax跨域请求时,sessionId不一样,导致无法记住登陆状态
遇到这样一个场景,就是前端的域是dev,请求接口时,接口的域是beta,即使在服务端设置了cookie存放的域,'COOKIE_DOMAIN' => '.roboming.com',虽然c ...
- Django跨域请求
一.jsonp方式 同源策略会阻止ajaxa请求,但不阻止src. jsonp方式其实是利用了<script>标签可以直接跨域的性质,在body中生成一个<script>标签, ...
- 关于Ajax的get与post浅分析,同步请求与异步请求,跨域请求;
Ajax局部异步刷新全称ASynchronous JavaScript And XML.使用Javascript代码获取服务器的数据,Ajax当中有两个请求方法,一个是get方法,一个是post请求方 ...
- Vue--axios:vue中的ajax异步请求(发送和请求数据)、vue-resource异步请求和跨域
跨域原理: 一.使用axios发送get请求 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 & ...
- ajax异步请求/同源策略/跨域传值
基本概念 Ajax 全称是异步的 JavaScript 和 XML . 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进 ...
- Django框架深入了解_01(Django请求生命周期、开发模式、cbv源码分析、restful规范、跨域、drf的安装及源码初识)
一.Django请求生命周期: 前端发出请求到后端,通过Django处理.响应返回给前端相关结果的过程 先进入实现了wsgi协议的web服务器--->进入django中间件--->路由f分 ...
- Django前后端分离跨域请求问题
一.问题背景 之前使用django+vue进行前后端分离碰到跨域请求问题,跨域(域名或者端口不同)请求问题的本质是由于浏览器的同源策略导致的,当请求的响应不是处于同一个域名和端口下,浏览器不会接受响应 ...
- 【笔记】Asp.Net WebApi对js POST带参数跨域请求的支持方案
先说下需求:在原来的WebApi项目中增加对js跨域的请求支持,请求方式:以POST为主,webapi路由规则根据原项目需求修改如下: public static void Register(Http ...
随机推荐
- Spring Cloud Loadbalancer
Spring Cloud Loadbalancer---客户端负载均衡器 springcloud 2020.0.1 版本之后 删除了eureka中的ribbon,替代ribbon的是spring cl ...
- 2022春每日一题:Day 40
题目:[NOI2010] 超级钢琴 前求出美妙值的前缀和,然后倍增处理一下前缀和的最大值,然后对于一个左端点s,他能取到右端点的只有s+l到s+r,而他的最大贡献就是s+l 到s+r的最大子段和,因此 ...
- EdgeCore初学习
### 前提 初学edgeCore,有不足之处,欢迎指正 ### 大纲 1. 日志查看2. 重启3. 在线编译4. sftp同步代码5. 整体架构6. 通信协议7. 模拟实现(待实现) ### 步骤 ...
- scrapy框架命令
scrapy startproject #创建scrapy项目 scrapy genspider test www.baidu.com #在项目下的spider目录下生成爬虫文件 test爬虫名称 w ...
- kubernetes笔记-1-基础环境部署
一.环境信息: 操作系统:ubuntu 18.04 server amd64 docker:docker 19.03.ce kubernetes:v1.19 IP地址 主机名 角色 172.29. ...
- laravel ajax用法
$.ajax({ url:"index.php?r=sms/sms", type:"POST", data:{phone:mobileNum,_csrf:csr ...
- 关于python3格式化字符输出的问题
前言 今天简答写了一个爬虫,利用 % 格式化输出总是有问题 第一种写法: url = 'https://yysygw.res.netease.com/pc/gw/20190826151318/data ...
- java 分别获取当前时间的年月日以及当前时间所在周的周一周末日期
以前也经常用date去截取,但是病史所有场景都适合,或者说效率满足不了,或者说拼接格外麻烦.能用java本省的的方法去实现其实更爽.因为中西方的文化的差异有时候在简单的方法上我们不得不去加一些其他的去 ...
- 【Shell案例】【awk每行执行一次】11、转置文件的内容
描述写一个 bash脚本来转置文本文件nowcoder.txt中的文件内容. 为了简单起见,你可以假设:你可以假设每行列数相同,并且每个字段由空格分隔 示例:假设 nowcoder.txt 内容如下: ...
- 持续发烧,聊聊Dart语言的并发处理,能挑战Go不?
前言 貌似关于Dart的文章没流量啊,就算在小编关怀上了首页,看得人还是很少的. 算了,今天持续发烧,再来写写如何使用 Dart 语言的并发操作.说起并发操作,玩 Go 的同学该笑了,这就是我们的看家 ...