专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Java Web技术:什么是同源策略

Java Web技术:什么是同源策略

更新时间:2022-09-20 09:57:44 来源:动力节点 浏览916次

Java教程中大家会学习Java Web相关技术,里面就会讲到同源策略,它是一种浏览器安全功能,它限制由一个源加载的文档或脚本,以访问或与来自另一个源的文档或脚本交互。源由协议、主机和端口组成。

例如,考虑以下 URL:

http://www.bjpowernode.com/

在上面的例子中,“http://”是协议,“bjpowernode.com”是主机,端口是“80”。

注意:默认情况下,网站使用端口 80。

同源策略是必要的,因为当浏览器从一个源向另一个源发送 HTTP 请求时,所有相关数据(即 cookie、身份验证令牌、会话或任何相关数据)都会作为请求的一部分发送。如果其他来源是恶意的,它将能够访问受害用户的所有信息。

如果没有同源策略并且您访问了恶意网站,它将能够从您的社交网络帐户中读取所有消息。

当两个来源具有相同的协议、主机和端口时,就说它们是相同的。

同源政策何时实施限制?

当涉及两个不同的来源时,浏览器将应用同源策略。

页面无法访问 iframe 中的内容,除非它们来自同一来源。

不允许使用 XMLHttpRequest。

来自特定站点的会话 Cookie 不能发送到具有不同来源的页面。

注意:如果是 cookie,则不检查协议和端口。仅检查主机。

同源策略并不完全限制两个源之间的交互。浏览器检查两个来源之间的交互是否构成威胁,如果不是,则允许交互。

同源政策是否足够?

同源策略加强了一些安全性,但不足以防止各种攻击。他们之中有一些是:

跨站点请求伪造(CSRF)攻击基本上利用了不同的来源。这就是为什么除了同源策略之外还应该使用反 CSRF 令牌的原因。

同源策略也可以防止跨站点脚本(XSS)攻击,但为了防止它必须限制从外部源加载脚本,这可能会破坏 Web 应用程序的功能。如果大家想了解更多相关知识,不妨来关注一下本站的JavaWeb入门教程,里面的课程内容由浅到深,细致全面,通俗易懂,适合小白学习,相信对大家一定会有所帮助的。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>