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 ...
随机推荐
- 第一百零七篇:基本数据类型(undefined,null,boolean类型)
好家伙, 本篇内容为<JS高级程序设计>第三章学习笔记 1.数据类型 ECMAScript有6种简单数据类型(称为原始类型): Undefined, Null, Boolean, Numb ...
- Java:ArrayList的基本使用(学习笔记)
集合和数组的对比(为什么要有集合) 分为俩点 1. 长度:数组的长度是固定的,集合的长度是可变的. 2. 存储类型: 数组:可以存储基本数据类型,引用数据类型. 集合:只能存储引用数据类型. 小t ...
- PLC攻击(一):应用层攻击
转载请注明出处:信安科研人please subscribe my official wechat :信安科研人获取更多安全资讯 参考文献: A Stealth Program Injection ...
- 5 STL-string
重新系统学习c++语言,并将学习过程中的知识在这里抄录.总结.沉淀.同时希望对刷到的朋友有所帮助,一起加油哦! 生命就像一朵花,要拼尽全力绽放!死磕自个儿,身心愉悦! 写在前面,本篇章主要介绍S ...
- 基于.net C# Socket WinForm MQTT 客户端开发
1.什么是MQTT? MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的&quo ...
- Boolean.getBoolean() 与 Boolean.parseBoolean()
1. 问题回顾 当在不了解 Boolean 中的 getBoolean() 方法与 parseBoolean() 方法的区别时,在使用过程中就会出现不明所以的bug. 比如如下使用情况: // isA ...
- 接口Interface的作用不止是解耦
简言: 好久没写博客了,今天手痒想写一写.废话少说,我们直入主题,相信大家对接口interface,这个单词一定不陌生.但是要说到它的作用,除了解耦之外,还有什么作用呢?可能大多数人都不是很清楚(大牛 ...
- LeetCode HOT 100:在排序数组中查找元素的第一个和最后一个位置
题目:34. 在排序数组中查找元素的第一个和最后一个位置 题目描述: 给你一个递增数组,和一个目标值target,最终返回数组中第一次出现target和最后一次出现target的下标.如果该数组中没有 ...
- week_4
Andrew Ng 机器学习笔记---by Orangestar Week4_Neural Networks : Representation 1. Non-linear Hypotheses 当特征 ...
- 使用Typora写博客,图片即时上传
背景 习惯使用markdown的人应该都知道Typora这个神器,它非常简洁高效.虽然博客园的在线markdown编辑器也不错,但毕竟是网页版,每次写东西需要登录系统-进后台-找到文章-编辑-保存草稿 ...