前端代码:
<iframe src="Customer/login_to_spe" width="100%" height="1200px" scrolling="no" frameborder="0"> </iframe>
后端代码:
function login_to_spe(){ //省略了get url 代码 header("Location: $url"); }
前端代码和后端代码都在同一个域名下,login_to_spe()获取的url是另一个域名下的
iframe引用的是同域名下的url,虽然这个url进行了跳转,但为什么还是被浏览器拦截了?
浏览器报的错误:Load denied by X-Frame-Options: https://xxxx.com/ does not permit cross-origin framing.
最后查出来的问题是:清了浏览器的缓存就不会报错了。。ORZ。。
前端代码:
<iframe src="Customer/login_to_spe" width="100%" height="1200px" scrolling="no" frameborder="0"> </iframe>
后端代码:
function login_to_spe(){ //省略了get url 代码 header("Location: $url"); }
前端代码和后端代码都在同一个域名下,login_to_spe()获取的url是另一个域名下的
iframe引用的是同域名下的url,虽然这个url进行了跳转,但为什么还是被浏览器拦截了?
浏览器报的错误:Load denied by X-Frame-Options: https://xxxx.com/ does not permit cross-origin framing.
最后查出来的问题是:清了浏览器的缓存就不会报错了。。ORZ。。
请求数据步骤
发送请求--->浏览器接受响应--->判断是否是同域下
是的话,就把响应数据返回给请求点。不是的话就提醒禁止跨域请求。
现在可以在响应头中增加
header("Access-Control-Allow-Origin: *"); //允许的域 header("Access-Control-Allow-Methods: POST, GET, OPTIONS"); //允许的方法 header("Access-Control-Allow-Headers: X-PINGOTHER"); //允许的自定义header
告诉浏览器可以把响应值返回给跨域请求的点
=============================================================================
1楼的评论,说这针对的不对
看提示
Load denied by X-Frame-Options: https://xxxx.com/ does not permit cross-origin framing.
X-Frame-Options头就是用来告诉浏览器,本页面是否应该在frame显示本页面。
它的配置:
DENY 这个页面不允许在frame中显示 SAMEORIGIN 只允许在本域的frame中显示 ALLOW-FROM uri 配置允许显示的域
因此,只需要添加如下
header("X-Frame-Options: ALLOW-FROM xxx你的域xxx");
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号