同源策略是什么,通俗易懂举例说明
时间: 2024-08-16 17:05:46 浏览: 27
同源策略(Same-Origin Policy,简称 SOP)是Web安全模型的一部分,由浏览器内置,用于限制网页内容从一个源(通常是协议、域名和端口的组合)加载其他源的内容。这个策略旨在防止恶意网站获取或操作用户的敏感信息,如cookies、JavaScript和Ajax数据。
举个例子,假设你在浏览器中打开"www.example.com"上的一个页面。在这个页面上有一个JavaScript脚本试图从"api.example.com"获取数据。由于它们不在同一个源(即域名不同),同源策略会阻止这种跨域请求,除非服务器明确设置允许该访问(比如JSONP或CORS)。这样可以保护用户的隐私,避免恶意网站窃取数据。
相关问题
跨域 同源策略是什么
跨域和同源策略是Web开发中的两个重要概念。
跨域(Cross-Origin)指的是在浏览器中,当一个网页的脚本试图访问不同源(域名、协议或端口)的资源时,就会发生跨域请求。同源策略(Same-Origin Policy)是浏览器的一种安全机制,它限制了一个源(域名、协议或端口)的脚本如何与其他源的资源进行交互。
同源策略的主要限制包括:
1. Cookie、LocalStorage和IndexDB等存储在浏览器中的数据,在跨域请求中不会被发送。
2. XMLHttpRequest和Fetch等Ajax请求只能发送到同源的URL。
3. DOM无法读取来自不同源的页面的内容。
4. JavaScript无法访问不同源的窗口对象。
为了实现跨域请求,可以通过以下几种方式:
1. JSONP:利用<script>标签可以跨域加载资源的特性,通过动态创建<script>标签来实现跨域请求。
2. CORS(Cross-Origin Resource Sharing):在服务器端设置响应头,允许指定的源进行跨域访问。
3. 代理服务器:在同源策略下,通过在服务器端进行请求转发,间接实现跨域请求。
什么是同源策略和非同源策略
同源策略和非同源策略是用于限制网页脚本访问其他网站资源的安全策略。
同源策略是指,如果两个网址具有相同的协议、主机名和端口号,则这两个网址属于同一个源。同源策略要求网页脚本只能访问与其来源网址同源的资源,而不能访问其他网址的资源,这样可以防止恶意脚本获取用户的敏感信息。
非同源策略则是指,如果两个网址不满足同源策略的要求,则这两个网址属于不同的源。在非同源情况下,网页脚本不能直接访问其他网址的资源,但可以通过跨域通信技术(例如 JSONP、CORS 等)来间接获取其他网址的资源。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)