• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Recommended Posts

同源

什么是同源

如果两页的协议、域名端口是相同的,那么这两页有相同的来源,即相同的来源。

例如:

http://www.test.com/index和http://www.test.com/other.html是同源的,因为协议、端口和域名是相同的。

http://www.test.com/index和https://www.test.com/other.html不是一个起源,因为协议是不同的。

什么是同源策略

同源策略:英文全称Sameoriginpolicy是浏览器.提供的安全功能

MDN官方给定的概念:同源策略限制从同一来源加载的文档或脚本如何与来自另一来源的资源交互,这是用于隔离潜在恶意文件的重要安全机制。

通俗理解:根据浏览器规定,网站A的JS不允许与非同源网站c的资源进行交互,例如:

无法读取非同源网页的Cokkie、LocalStorage和IndexedDB。

无法联系非同源网页的DOM。

无法将Ajax请求发送到不同的源地址。

跨域

什么是跨域

同源是指两个URL之间协议、域名、端口的一致,反之则是跨域.跨域的根本原因是浏览器的同源策略不允许不同来源的URL之间进行资源交互。

网页http://www.test.com/index.html和界面http://www.api.com/userlist是跨域的。

浏览器对跨域请求的拦截

当Ajax向不同来源的接口发起跨域请求时,请求可以正常发起,浏览器也可以正常接收跨域响应数据。但是会被同源策略拦截,所以不能被页面访问。

m2dc4vxc3us4604.png

实现跨域数据请求

两种解决方案,即JSONP和CORS。

JSONP:出现早,兼容性好。它是前端程序员为了解决跨领域问题而被迫想出来的一种临时解决方案。缺点是只支持GET请求,不支持POST请求。

CORS:它的出现相对较晚。它是W3C标准,属于跨域Ajax请求的基础解决方案。支持GET和POST请求。缺点是不兼容一些较低版本的浏览器。

Link to comment
Share on other sites