什么是跨域

Fanly 2019-03-28 14:19:08
问答

跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。

跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。

Cross-Domain 跨域

跨域的访问会带来许多安全性的问题,比如,cookie 一般用于状态控制,常用于存储登录的信息,如果允许跨域访问,那么别的网站只需要一段脚本就可以获取你的 cookie,从而冒充你的身份去登录网站,造成非常大的安全问题,因此,现代浏览器均推行同源策略。

跨域解决方案

  • 通过 jsonp 跨域
  • document.domain + iframe 跨域
  • location.hash + iframe
  • window.name + iframe 跨域
  • postMessage 跨域
  • 跨域资源共享(CORS)
  • nginx 代理跨域
  • nodejs 中间件代理跨域
  • WebSocket 协议跨域

什么是同源策略?

同源策略/SOP(Same origin policy)是一种约定,由 Netscape 公司 1995 年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到 XSS、CSFR 等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个 ip 地址,也非同源。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • cross-domain

    什么是跨域访问

    跨域访问指的是在浏览器环境下,当一个网页的脚本尝试访问来自不同域名、不同端口或不同协议的资源时所产生的限制。同源策略(Same-Origin Policy)是浏览器的一种安全机制,它要求网页脚本只能访问与其来源相同的资源。
  • WordPress

    WordPress CDN如何解决跨域问题

    解决WordPress中CDN的跨域问题需要妥善配置CORS策略,设置合适的CDN规则,以及可能的话,利用特定插件或调整网站代码。关键在于允许安全的跨源请求,同时防止未经授权的访问,确保网站的功能性和安全性。
  • JWT SSO

    如何通过JWT单点登录跨多个域名

    JWT单点登录是一种无状态的身份验证方法,通过使用JSON Web Tokens,用户可以在不同域名下实现无需反复登录的无缝访问体验。登录流程包括用户登录、令牌生成、令牌传递、令牌验证和身份认证。JWT单点登录的优势包括无需服务器存储状态、跨域名访问、高安全性和广泛适用性。
  • OAUTH JWT

    JWT和OAuth哪个更适合SSO单点登录

    在选择JWT和OAuth来实现SSO单点登录时,需根据具体需求权衡优势。OAuth在安全性上更胜,提供细粒度授权,但复杂度较高。JWT简单、无状态、适合跨域,但相对简化的安全性。选择应根据项目需求,或考虑两者组合,以实现最佳的SSO解决方案,确保安全实施。
  • JWT SSO

    JWT如何解决跨域单点登录

    JWT是一种用于解决跨域单点登录问题的重要工具。它通过将用户信息包含在令牌中,允许用户在不同域名的Web应用程序之间实现单点登录。JWT包含头部、载荷和签名三部分,具有跨域支持、自包含性和安全性等优势。在实施时需要注意令牌过期、密钥管理、CSRF攻击和敏感信息等安全考虑。
  • JWT 单点登录

    JWT如何提高单点登录安全性

    JWT(JSON Web Token)在单点登录(SSO)中提高安全性的关键在于合理设置过期时间、使用HTTPS、强密码和密钥、实施单点登出、监控和审计、令牌刷新、权限限制、签名验证、防止令牌泄漏以及定期升级库和依赖项。这些措施可以降低令牌泄漏、提高令牌的完整性,确保用户数据和系统资源的安全。