辛星浅析同源策略

可能平时接触到"跨域"这个概念还是挺频繁的。既然有"跨域"的说法,那么就有"同域"的说法。只是我们一般称之为"同源"。

所谓同源策略,就是组织一个域上载入的脚本获取或者操作还有一个域上的文档属性。即受到请求的url的域必须与当前web页面的域同样,也就是意味着浏览器隔离来自不同源的内容。防止它们彼此之间的操作。

同源策略有效地阻止了一些危急行为,比方我们打开了多个站点,可是当中一个是木马站点。那么木马站点就有可能窃取其它站点上关于我们的信息,这就会给用户带来非常大的泄密风险。

因为有了"同源策略"。大大减少了这样的风险性。因为木马站点与我们浏览的其它站点不同源,所以它们无法相互通信,获取数据。

同源策略在一定程度上保护了用户的网络安全。可是比方我们须要让www.a.com获取www.b.com的时候的数据的时候,就会由于同源策略而无法获取。

以下是同源策略的详细操作:

同意通信的有:

同一域名下的js文件  比方http://www.a.com/a.js  和http://www.a.com/b.js

同一域名下不同目录的js文件  比方http://www.a.com/xin/a.js  和 http://www.a.com/star/b.js

不同意通信的有:

同一域名下的不同port  比方http://www.a.com:8000/a.js 和 http://www.a.com/b.js

同一域名下的不同协议   比方http://www.a.com/a.js  和  https://www.a.com/b.js

域名和相应的IP         比方http://www.a.com/a.js   和  http://70.32.92.74/a.js

主域同样但子域不同     比方http:www.a.com/a.js   和http://xin.a.com/b.js

不同域名                比方http://www.a.com/a.js  和http://www.b.com/b.js

也就是说。在跨域问题上。域是通过url首部来识别推断的。

时间: 2024-07-30 03:51:28

辛星浅析同源策略的相关文章

辛星浅析You don't have permission to access / on this server.的解决办法

通常我们会遇到"You don't have permission to access / on this server."的提示,从字面意思是说,我们没有访问本服务器的权限,那么它常见的问题又是什么呢? 第一个假如是虚拟主机,那么可能是虚拟主机配置的错误,我们在<VirtualHost>对里面配置的时候,在其子配置项中,我们在<Directory>中修改为如下即可: Order  allow,deny Allow  from all 第二个原因就是我们没有响应

辛星浅析tar命令的基本使用

我们通常使用tar命令来对文件或者目录进行打包或者压缩,可能朋友们刚接触的时候会有点晕,百度搜的时候就和查手册一样,不够通俗易懂,今天辛星就给朋友们用另一种方式去解决这个问题. 我们首先还是要对它的几个关键参数认识一下的: -c  表示创建一个打包文件,这里的c是create的首字母 -x   表示解包一个已经打包的文件 -t    表示查看一个tar包里面的文件 因此,c和x和t这三个参数只能存在一个,不能同时存在,因为我们不能在打包的同时又解包 然后就是两个常见的与压缩有关的参数: -z  

辛星浅析Redis中的配置文件

Redis中的主要配置项如下: (1)daemonize  yes     它表示是否在后台运行,如果写成yes,那么在后台运行,如果是no,则表示不在后台运行. (2)pidfile  /var/run/redis.pid 当Redis在后台运行的时候,Redis默认会把pid文件放在/var/run/redis.pid,我们也可以在运行多个Redis服务时,指定不同的pid文件和端口 (3)port    6379    指定Redis运行的端口,默认是6379 (4)127.0.0.1  

辛星浅析Redis中的服务器管理

Redis在设计之初就被定义为可以长时间不间断运行的服务进程,因此大多数系统配置参数都可以在不重新启动的情况下立即生效.即便是当前的持久化模式从AOF切换到RDB也无需重启.在Redis中,我们还有一些和服务器管理相关的命令,我们介绍如下: (1)config    get   parameter    主要用于读取服务器的运行时参数,但是并不是所有的配置参数都可以通过该命令进行读取.其中该命令的参数接受glob风格的模式匹配规则,因此如果参数中包含模式元字符,那么所有匹配的参数都将以key/v

辛星浅析跨域传输的CORS解决方案

首先我们有一个概念,那就是"同源准则",也就是same-origin  policy,它要求一个网站(协议+主机+端口号)来确定的脚本.XMLHttpRequest和Websocket无权去访问另一个网站的内容. 如果设置不正确,它通常会报错如下:No 'Access-Control-Allow-Origin' header is present on the requested resource. 所谓CORS,也就是Cross-Origin  Resource  Sharing,它

辛星浅析网站中的sitemap

所谓sitemap,通俗来说就是"网站地图",sitemap文件主要包含了网站中的有效连接,它会便于搜索引擎的抓取和收录,如果没有sitemap文件,蜘蛛就需要一个一个的通过我们网站中的超链接来进行抓取.有了sitemap之后,搜索引擎直接读取该文件就可以了,它可以让搜索引擎抓取我们的网页更加有效. 最通用的也是最简单的sitemap形式的文件,就是xml文件,我们在其中列出网站中的网址,以及关于每个网址的一些元数据.这些元数据通常是上次更新的时间.更新的频率.重要程度等等,它可以让搜

辛星浅析Linux中的selinux

selinux是美国国家安全局发起的一个项目,它的目的是将系统加固到可以达到军方的级别.这也为Linux的安全提供了更强有力的保障. 所谓DAC,是自主访问控制,就是每一个用户为了能够实现和其他用户共享文件,在使用ACL之前,只能通过改变这个文件其他用户的权限,但是这种方法给系统安全带来了很多隐患.所谓CS,就是安全上下文,它取决于发起用户的权限和文本本身的权限. 所谓MAC,就是Mandatory   Access  Control,也就是强制访问控制,它是selinux实现访问控制的基础,s

辛星浅析Linux中的devfs、sysfs和udev

Linux下有专门的文件系统用来对设备进行管理,devfs和sysfs就是其中的两种.在2.6内核之前使用的是devfs,而devfs挂载于/dev目录下,提供了一种类似于文件的方法来管理位于/dev目录下的所有设备,我们知道/dev目录下的每一个文件对应的都是一个设备,而且这些特殊文件是位于根文件系统上的,在制作文件系统的时候我们就已经建立了这些设备文件,因此通过操作这些特殊文件,可以实现与内核进行交互. 但是devfs文件系统有一些缺点:(1)比如不确定的设备映射,有时候一个设备映射的设备文

辛星浅析Redis中与key有关的命令

在Redis中,我们还可以直接对key直接操作,下面是我们常用的主要命令: (1)keypattern   它表示获取所有匹配pattern的keys,这里需要注意的是,我们应该避免使用该命令,因为对于大型数据库而言,该命令非常耗时,对Redis服务器的性能打击也是比较大的.它支持glob-style的通配符格式,比如用*表示任意一个或者多个字符,用?表示任意字符,用[xyz]表示方括号中的任意一个字母. (2)del   key ....   它是从数据库中删除参数中指定的keys,如果指定的