同源、跨域

默认端口
http:80 https:443 ftp: 21
协议 认证/登陆信息 域名 路径 ?查询字符串 #hash

hash 改变的时候 会跳转到id为 hash 值的元素位置 没有刷新页面 不会发起请求 只是改变文档内部的东西
对服务器没用 浏览器不会把 hash 这部分 发送给服务器
请求里看不到 hash http 不会传

源是指 协议 域名 端口号
指令: location origin
//ie下不支持
if(location.origin===undefined){
location.origin=location.protocol+location.hostname+":"+location.port
}

.protocol
.hostname域名
.port端口

在访问一个域名的时候,会到服务器请求他的ip 也可以手动指定hosts
将一个域名固定到一个ip

可以在hosts 文件里 写127.0.0.1 www.baidu.com
本地开一个服务器 默认为127.0.0.1:3000
然后清除缓存之后 地址栏 输入 http:www.baidu.com:3000 就可以映射百度为本地服务器的域名了

chrome://net-internals/#sockets
清除缓存

模拟 a.com的js 访问b.com的资源
因为本地的服务器打开后 127.0.0.1:3000 这个ip就存在了
可以把a.com和b.com 都指向这个ip 端口改为80
在 test/index.js文件里改端口
80端口只有系统管理员身份才能启动
linux可以用sudo +启动服务命令来监听80端口
win用使用管理员身份运行命令行

a.com 用ajax来请求b.com的资源
会提示 错误

可以引用 但是不能用ajax读

可以跨站的引用 js css png 不属于同源策略
你那ajax来读他的内容 就不可以

a.com 引用(下载 )自 b.com/main.js 不能读写 b.com的资源
因他已经属于a.com 的脚本了
如果 b.com/main.js里 有请求b.com里的其他文件 则属于跨域 报错

降域
// iframe 形式的跨域 或者 有同样后缀的域名

child.a.com 只能设置域名为a.com
把域名变成一样的
我们的协议一样 端口一样 只要改变域名 就可以同源
每个页面都加一句话 document.domain='a.com'
两个iframe就可以互相调用对方的数据和方法了 不过是在两个iframe加载完 可以把回调函数 包含在 window.onload=function(){...}里

问题是 如果 所有页面都改写成同样的域名
那么 任何一个子域名被攻击注入 可能就会影响 主域名里的重要数据泄露
引起大面积的安全问题

更改域名时:
可以访问他的上一级或上上级域名 xxx.child.a.com 可以 改为 child.a.com 或者a.com
不能往回改 当改为a.com了 就不能改回 child.a.com 了

  1. 接受一个 callback 的名字 : xxx
  2. 返回JS的内容,调用 xxx

JSONP 就是动态的 script

a.com 定义了函数xxx
请求了b.com里的data.js
data.js的参数是xxx,xxx隐射到文件里的xxx ,真正的数据呢是“a”:“1”
把数据传到函数xxx,让函数xxx调用
a.com已埋好了坑 调用a.com里的xxx方法

1.接受一个callback的名字 xxx
2.返回js的内容,调用xxx

本身没有安全性可言; 只能get 不能post

解决jsonp 的安全问题 约定一个别的域名拿不到的东西 比如cookie
c.com是拿不到a.com的cookie的

jsonp有个token变量

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.同源策略 同源策略是浏览器的一种安全策略,所谓同源指的是请求URL地址中的协议、域名和端口都相同,只要其中之一...
    believedream阅读 196评论 0 2
  • 什么是同源策略 协议名+域名+端口就是源,三者都相同视为同源。 不同源的客户端脚本在没有明确授权下,不能读写对方的...
    柯良勇阅读 886评论 0 1
  • 绿叶穿起红衣 枯叶零星点地 风的秘密吹进耳里 风吹了风又起 秘密飘散满地 谁遗落下来的东西 秘密吹散在风里 带给叶...
    乔抒阅读 233评论 3 7
  • 作者简介:周龙,二级警司警衔。现任麦积交警大队伯阳中队中队长。
    2e23b1258b27阅读 2,118评论 0 0
  • 花了一个月的时间 陆陆续续的把周显的钱的外遇给看完了,正如书中所言,不教知识,只教智慧,只教你如何看破种种金融...
    青青狐阅读 2,098评论 0 0