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 ...
随机推荐
- C#之GCHandle
转载 略谈GCHandle C# - Marshal.StructureToPtr方法简介 Marshal类 两个方法StructureToPtr和PtrToStructure实现序列化 字节 数组 ...
- zephyr的GPIOTE驱动开发记录——基于nordic的NCS
简介: 本次测试了zephyr的中断驱动方式(GPIOTE),在这可以去看zephyr的官方文档对zephyr的中断定义,连接如下,Interrupts - Zephyr Project Docume ...
- Go语言核心36讲50
作为拾遗的部分,今天我们来讲讲与Go程序性能分析有关的基础知识. Go语言为程序开发者们提供了丰富的性能分析API,和非常好用的标准工具.这些API主要存在于: runtime/pprof: net/ ...
- Fastjson漏洞+复现
1.漏洞介绍 FastJson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并调用该类的set/get方法来访问属性.通过查找代码中相关的方法,即可构造出一些恶意利用链. ...
- Golang反射修改变量值
1. 前言 前面的随笔Golang反射获取变量类型和值分享了如何通过反射获取变量的类型和值, 也就是Golang反射三大定律中的前两个,即从interface{}到反射对象和从反射对象到interfa ...
- Zabbix6.0使用教程 (一)—zabbix新增功能介绍1
使用zabbix的小伙伴应该都有关注到目前zabbix的大版本已经更新到了6.0,后面乐乐将会对如何使用zabbix6.0做一个使用教程的系列,大家可以持续关注,这篇我们主要聊聊zabbix6.0新增 ...
- 跟我学Python图像处理丨带你入门OpenGL
摘要:介绍Python和OpenGL的入门知识,包括安装.语法.基本图形绘制等. 本文分享自华为云社区<[Python图像处理] 二十七.OpenGL入门及绘制基本图形(一)>,作者:ea ...
- Django静态文件配置(from表单-request对象方法-get请求与post请求-视图函数书写)
目录 一:静态文件配置 1.静态文件配置 2.什么是静态文件? 3.静态文件的创建 4.解决使用django后端代码修改前端不显示(缓存问题) 5.settings.py 静态文件配置 6.静态文接口 ...
- Python:界面开发,wx入门篇
以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://mp.weixin.qq.com/s/3Yb_YAKiMte_f5HanetXiA 本文大概 3617 个 ...
- vue下载与安装
首先安装node.js环境: node.js 安装推荐文章:https://www.cnblogs.com/zhouyu2017/p/6485265.html 基于node.js安装淘宝镜像npm i ...