keycloak~从login-status-iframe页面总结如何跨域传值~续
keycloak~从login-status-iframe相关文章,可阅读我的这两篇keycloak~从login-status-iframe页面总结如何跨域传值,keycloak~对接login-status-iframe页面判断用户状态变更。
什么是跨域
跨域(Cross-Origin)是指在Web开发中,当一个资源(比如JavaScript、CSS、图片等)来自于不同域名、协议或端口的网站时,就会出现跨域情况。浏览器的同源策略(Same-Origin Policy)限制了不同源之间的交互,包括JavaScript的跨域访问、Cookie的跨域发送等。
具体来说,如果一个页面的来源与另一个资源的来源在域名、协议、端口号中有任何一个不同,就被认为是跨域请求。例如,从a.com的页面向b.com发送AJAX请求、通过iframe嵌入不同域名的页面、在JavaScript中尝试读取不同域名的Cookie等都属于跨域操作。
跨域问题是由浏览器的安全策略引起的,它的存在是为了防止恶意网站利用用户的浏览器对其他网站进行攻击。在实际开发中,为了解决跨域问题,我们可以使用CORS(跨域资源共享)、JSONP(JSON with Padding)、代理服务器、iframe消息传递等技术来实现不同源之间的数据交互。
主域的判断
- 顶级域名相同,二级域名不同,主域视为相同,如a.user.com,b.user.com,它们主域是user.com
- 顶级域名相同,但端口不同,也是主域相同,如a.user.com,a.user.com:8080,它们主域是user.com
- 顶级域名相同,二级域名不同,端口也不同,也是主域相同,如a.user.com:8080,b.user.com:8081,它们主域是user.com
跨域判断
- 主域不同是跨域:a.user.com,b.product.com
- 主域相同,子域不同,也是跨域:a.user.com,b.user.com
- 域名相同,端口不同,也是跨域:a.user.com:8081,a.user.com:8081
跨域中的iframe的cookie值
实例代码
- b.user.com
<script>
alert(document.cookie);
</script>
- a.user.com和a.shop.com
<iframe src="https://b.user.com" id="my-iframe" style="display:none"></iframe>
代码在不同场景下测试结论
- 主域名相同user.com
- 运行a.user.com,可以通过alert输出b.user.com下的cookie内容
- 运行a.user.com:8081,可以通过alert输出b.user.com下的cookie内容
- 主域名不同shop.com和user.com
- 运行a.shop.com,在打印的alert中,b.user.com的cookie是null
主域名相同

主域名不同

keycloak~从login-status-iframe页面总结如何跨域传值~续的更多相关文章
- 利用 iframe解决ajax的跨域问题
问题 1. form提交或a标签跳转方式提交不会引发跨域问题. 2. ajax出于安全问题就有了跨域问题,因为一次请求中既访问了外部域最后返回了自己的域. 3. 用iframe其实就是想仿照ajax的 ...
- iframe与主框架跨域相互访问方法【转】
转自:http://blog.csdn.net/fdipzone/article/details/17619673 1.同域相互访问 假设A.html 与 b.html domain都是localho ...
- webqq的注册登记和聊天页面--运用jsonp跨域
简介: 我们知道,ajax用于数据交互,但它不能跨域,跨域是指从一个域名的网页去请求另一个域名的资源.比如从http://www.baidu.com/ 页面去请求 http://www.google. ...
- 计算机网络之iframe内联框架跨域
iframe框架同源下的数据调用 iframe框架非同源下的数据传输 一.iframe框架同源下的数据调用 1.父窗口向子窗口获取数据 //html1父级窗口 <iframe src=" ...
- Javascript 使用postMessage对iframe跨域传值或通信
实现目标:两个网站页面实现跨域相互通信 当前例子依赖于 jQuery 3.0 父页面代码:www.a.com/a.html <iframe id="myIframe" src ...
- iframe与主框架跨域相互访问方法
iframe 与主框架相互访问方法 http://blog.csdn.net/fdipzone/article/details/17619673/ 1.同域相互访问 假设A.html 与 b.htm ...
- express+node.js搭建的服务器和在sublimeServer下的页面请求报跨域错误
1.前端页面使用vue中的axios请求nodejs响应.报以下错误: Failed to load http://localhost:3000/users/validate: Response to ...
- 页面中iframe中嵌入一个跨域的页面,让这个页面按照嵌入的页面宽高大小显示的方式;iframe嵌套的页面不可以编辑的问题解决方案
<html> <head> <style> body { margin-left: 0px; margin-top: 0px; margin-right: 0px; ...
- js 利用iframe和location.hash跨域解决的方法,java图片上传回调JS函数跨域
奶奶的:折腾了我二天,最终攻克了!网上有非常多样例. 但跟我的都不太一样,费话不多说了,上图 上代码: IE ,firefix,chrome 測试通过 js :这个主页面,部分代码, functi ...
- HTML页面通过JS跨域调用,子传父
父页面:a.html 代码: <html> <head> <script type="text/javascript"> function te ...
随机推荐
- Go代码包与引入:如何有效组织您的项目
本文深入探讨了Go语言中的代码包和包引入机制,从基础概念到高级应用一一剖析.文章详细讲解了如何创建.组织和管理代码包,以及包引入的多种使用场景和最佳实践.通过阅读本文,开发者将获得全面而深入的理解,进 ...
- Springboot多种字段copy工具比较
结论:推荐使用spring自带的copy工具,不能copy的手动set 1.springboot自带的BeanUtils.copyProperties package com.admin; impor ...
- 为什么 Python 代码在函数中运行得更快?
哈喽大家好,我是咸鱼 当谈到编程效率和性能优化时,Python 常常被调侃为"慢如蜗牛" 有趣的是,Python 代码在函数中运行往往比在全局范围内运行要快得多 小伙伴们可能会有这 ...
- 「codeforces - 1394C」Boboniu and String
link. 注意到 BN-string 长成什么样根本不重要,我们把它表述为 BN-pair \((x, y)\) 即可,两个 BN-strings 相似的充要条件即两者分别映射得到的 BN-pair ...
- modbus转profinet网关连接UV系列流量计程序实例
modbus转profinet网关连接UV系列流量计程序实例 用户现场是西门子1200PLC通过兴达易控Modbus转Profinet网关连接流量计的配置,对流量瞬时值及报警值监控及控制程序案例 硬件 ...
- 日常Bug排查-读从库没有原子性?
日常Bug排查系列都是一些简单Bug排查.问题虽小,但经常遇到,了解这些问题,会让我们少走点弯路,提升效率.说不定有些问题你遇到过哦:) Bug现场 业务开发同学突然问了笔者一个问题,从库读会不会没有 ...
- 23年9月最新微信小程序 手机号授权 (uniapp+盛派SDK) 帮你踩坑
一.背景 微信小程序手机号授权接口,从23年8月开始实行付费验证. 文档地址:https://developers.weixin.qq.com/miniprogram/dev/framework/op ...
- getchar()和putchar()
#include <stdio.h> #include <stdlib.h> int main() { char ch; /*.putchar() a. putchar函数的格 ...
- Oracle的差异增量备份和累积增量备份
在rman增量备份中,有差异增量和累积增量的概念. 差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式累积增量:是备份上级备份以来所有变化的块 累积增量是备份上级备份以来所 ...
- [第五空间 2021]yet_another_mysql_injection
随便输入进去,发现只有账号是admin可以进入 使用弱密码admin admin,报错为hacker 就没啥办法了,想着F12看一下源码 发现有一个source,打开看看 可以发现username是固 ...