同源策略与cors跨域及jsonp劫持


前言

本文整理同源策略,Ajax,cors跨域及jsonp劫持


一、同源策略

同源策略(Same Origin Policy):该策略是浏览器的一个安全基石,如果没有同源策略,那么,你打开了一个合法网站,又打开了一个恶意网站。恶意网站的脚本能够随意的操作合法网站的任何可操作资源,没有任何限制。(防止内部资源被外部页面脚本读取或篡改)
浏览器的同源策略规定: 不同域的客户端脚本在没有明确授权的情况下,不能读写对方的资源。那么何为同源呢,即两个站点需要满足同协议,同域名,同端口这三个条件。

二、Ajax技术

Ajax 全称 Asynchronous JavaScript + XML,即异步 JavaScript 和 XML。AJAX 本身不是一种新技术,而是用来描述一种使用现有技术集合/标准的新方法,包括:HTML or XHTML、Cascading Style Sheets、JavaScript、The Document Object Model、XML、XSLT 以及 XMLHttpRequest object。AJAX 允许只更新一个 HTML 页面的部分 DOM,而无须重新加载整个页面, 网页应用能够快速地将增量更新呈现在用户界面上,而不需要重新加载整个页面。这使得程序能够更快地回应用户的操作。
(因为json的轻量化以及作为javascript中的一部分,目前json使用比xml更多,两个都被用于Ajax中打包信息)

三、CORS跨域

有些网站由于自身业务的需求,需要实现一些跨域的功能能够让不同域的页面之间能够相互访问各自页面的内容。常见需要跨域的业务场景如下:

1.前端需要调用后端开发的功能接口,前后端分离情况下,域名不一致,会发生跨域访问的问题;
2.需要发送ajax请求,请求另一个页面的内容,其不在同一个域下时,会发生跨域问题;
3.加载第三方网站信息时;
4.子域名需要调用主域名的接口,显示内容时。

CORS 是 H5 提供的一种机制,WEB 应用程序可以通过在 HTTP 报文中增加特定字段来告诉浏览器,哪些不同来源的服务器是有权访问本站资源。

跨域分为两类,简单请求与非简单请求。
满足以下两个条件属于简单请求否则属于非简单请求:
1.请求方法是HEAD GET POST 三种之一;
2.HTTP头信息不超过(Accept,Accept-Language,Content-Language,Lat-Event-ID,Content-Type)这几种字段。
主要按照请求放大进行判断。

1.简单请求

对于简单请求,浏览器发现这一次向服务器提交的请求时简单请求,所以自动

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值