本文小编为大家详细介绍“JavaWeb的同源策略是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaWeb的同源策略是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
Java Web相关技术里的同源策略是一种浏览器安全功能,它限制由一个源加载的文档或脚本,以访问或与来自另一个源的文档或脚本交互。源由协议、主机和端口组成。
例如,考虑以下 URL:
http://www.bjpowernode.com/
在上面的例子中,“http://”是协议,“bjpowernode.com”是主机,端口是“80”。
注意:默认情况下,网站使用端口 80。
同源策略是必要的,因为当浏览器从一个源向另一个源发送 HTTP 请求时,所有相关数据(即 cookie、身份验证令牌、会话或任何相关数据)都会作为请求的一部分发送。如果其他来源是恶意的,它将能够访问受害用户的所有信息。
如果没有同源策略并且您访问了恶意网站,它将能够从您的社交网络帐户中读取所有消息。
当两个来源具有相同的协议、主机和端口时,就说它们是相同的。
同源政策何时实施限制?
当涉及两个不同的来源时,浏览器将应用同源策略。
页面无法访问 iframe 中的内容,除非它们来自同一来源。
不允许使用 XMLHttpRequest。
来自特定站点的会话 Cookie 不能发送到具有不同来源的页面。
注意:如果是 cookie,则不检查协议和端口。仅检查主机。
同源策略并不完全限制两个源之间的交互。浏览器检查两个来源之间的交互是否构成威胁,如果不是,则允许交互。
同源政策是否足够?
同源策略加强了一些安全性,但不足以防止各种攻击。他们之中有一些是:
跨站点请求伪造(CSRF)攻击基本上利用了不同的来源。这就是为什么除了同源策略之外还应该使用反 CSRF 令牌的原因。
同源策略也可以防止跨站点脚本(XSS)攻击,但为了防止它必须限制从外部源加载脚本,这可能会破坏 Web 应用程序的功能。
读到这里,这篇“JavaWeb的同源策略是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。