当前位置: 首页 > 知识库问答 >
问题:

react.js - iframe嵌入了其他网站的网页,iframeSrc中有携带相关信息,但是还是被拦截到登录页。这样情况该如何解决呢?

通煜祺
2023-12-28

问题:iframe嵌入了其他网站的网页,iframeSrc中有携带相关信息,但是还是被拦截到登录页。这样情况该如何解决呢

const iframeSrc = 'xxxx?token=xxx&userName=xxx';  return (    <div className={styles['portal_wrapper']}>      <iframe id="portal" name="portal" src={iframeSrc} className={styles['portal_wrapper--iframe']} />    </div>  );

共有2个答案

鄢松
2023-12-28

那个其他网站是你们自己开发的么。如果是第三方的网站,首先他要有一套从路由获取token然后放入cookie的逻辑,你这样的行为才会生效。
如果是你们自己开发的,你可以在路由拦截函数实现这个逻辑。

黄飞翮
2023-12-28

这个问题涉及到跨域请求和同源策略。当您尝试在iframe中嵌入其他网站的网页时,可能会遇到安全限制,导致请求被拦截或登录页被显示。

要解决这个问题,您可以尝试以下几个方法:

  1. 使用反向代理:在您的服务器上设置一个反向代理,将请求转发到目标网站。这样,您的服务器和目标网站将共享相同的域,从而避免跨域问题。
  2. 设置CORS(跨来源资源共享):如果目标网站允许跨域请求,您可以尝试在您的网页中设置CORS头部,以允许跨域请求。这通常需要在服务器端进行配置。
  3. 使用JSONP:JSONP是一种通过动态脚本标签(<script>)实现跨域请求的方法。它允许您从目标网站获取数据,并在您的网页中呈现。但是,请注意,JSONP仅支持GET请求,并且可能存在安全风险。
  4. 使用浏览器插件或扩展程序:某些浏览器插件或扩展程序可以帮助您绕过跨域限制或模拟登录状态。但这并不是一个长期的解决方案,也不适用于所有情况。

在具体实现上,您可以使用以下代码样例:

// 使用反向代理的示例(Node.js)const express = require('express');const app = express();app.use(express.static('public'));app.all('/proxy/*', (req, res) => {  const targetUrl = `http://example.com/${req.path}`; // 替换为目标网站的URL  res.send(`<html><head><script>window.location.href="${targetUrl}";</script></head></html>`);});app.listen(3000, () => console.log('Server started on port 3000'));

请注意,这些方法可能不适用于所有情况,具体取决于目标网站的政策和安全设置。如果目标网站不允许跨域请求或模拟登录状态,那么您可能需要寻找其他解决方案或与目标网站的管理员进行沟通。

 类似资料:
  • 本文向大家介绍如何能防止网页禁止被iframe嵌入呢?相关面试题,主要包含被问及如何能防止网页禁止被iframe嵌入呢?时的应答技巧和注意事项,需要的朋友参考一下

  • 1. 申请应用 登录微信企业版控制台:控制台 (opens new window) 如果没有企业可以点击 “企业注册”注册企业后再登录控制台 创建企业微信应用:导航栏 – 应用管理 – 自建 – 创建应用 设置企业微信授权登录 创建完应用之后,拖到应用最下方,选择“设置企业微信授权登录” 设置“Web网页”应用的“授权回调域” 设置可信域名 注意 这里 “授权回调域” 不需要指定 “前缀、后缀”

  • 所以我使用YouTube API来搜索视频。在我的搜索中,我包括以下参数:type=video,videoembeddeble=true,videoSyndicated=true。但我得到的结果仍然无法在我的网站上播放。我正在做的一个例子是 https://www.googleapis.com/youtube/v3/search?part=snippet 但是结果仍然给我一个错误,当嵌入时指出 此

  • 本文向大家介绍javascript判断网页是关闭还是刷新,包括了javascript判断网页是关闭还是刷新的使用技巧和注意事项,需要的朋友参考一下 原理就是通过离开页面行为时间onunload触发时间去检测此时的浏览器的窗口大小,根据大小由此判断用户是刷新,跳转或是关闭行为程序  代码如下  用浏览器右上角的关闭按钮时好用,但在选项卡上关闭和在任务栏上关闭,这个方法就不作用了 js标签只有onlo

  • 问题内容: 好吧,我几乎想弄清楚如何从网页中提取信息,并将其带入我的程序(使用Java)。 例如,如果我知道我想要的信息的确切页面,为了简单起见,我会从该页面上获取我需要的适当信息?喜欢标题,价格,说明吗? 这个过程甚至被称为什么?我什至不知道要开始对此进行研究。 编辑:好的,我正在为JSoup(由BalusC发布的测试)运行测试,但是我一直收到此错误: 我有Apache Commons 问题答案

  • 本文向大家介绍Struts2拦截器 关于解决登录的问题,包括了Struts2拦截器 关于解决登录的问题的使用技巧和注意事项,需要的朋友参考一下 拦截器的工作原理如图 拦截器是由每一个action请求(request)都包装在一系列的拦截器的内部,通过redirectAction再一次发送请求。 拦截器可以在Action执行直线做相似的操作也可以在Action执行直后做回收操作。 我们可以让每一个A