【问题标题】:Redirect to new tab with masking url nodeJS使用屏蔽 url nodeJS 重定向到新选项卡
【发布时间】:2021-06-12 12:01:12
【问题描述】:

我在做 nodeJS 后端,当前端调用我的 API 时,我想将用户重定向到新选项卡,用我自己的 url 屏蔽重定向的 url,解释我的问题:

这是两步问题,我可以一步一步解决,但不能同时解决。

对于重定向屏蔽网址,我可以:

if(url){
request(url).pipe(res);
}

对于新标签页上的重定向打开网址:

open(url, function (err) {
    if ( err ) throw err;    
});

试过了还是不行

open(request(url).pipe(res), function (err) {
        if ( err ) throw err;    
    });

有人知道怎么做吗?

我需要什么?

将用户重定向到新标签,他将在其中看到 url 内容,但用我的 url 屏蔽 url

我也需要这个来下载

【问题讨论】:

  • 您的示例代码有点令人困惑,因为您似乎将客户端和服务器端代码混合在一起,因为 window.open 是浏览器功能,而管道在 NodeJS 中。需要更多解释。如果您确实从自己的后端提供了不同的网页,那么如果您屏蔽的网页试图对其自己的后端进行 AJAX 调用,那么您很可能会遇到 CORS 错误。只使用 iframe 可能更安全。
  • 如果我使用 iframe,用户可以看到文件的 url 吗?我制作管道导致用户看不到真实的网址,只看我的网址
  • 如果他们检查/查看页面的源代码,他们将能够看到 URL,但不能在显示您网站的地址栏中。如果您通过管道传输它,您将遇到 CORS 问题,除非它主要是一个简单的静态页面。如果您显示更多代码、什么是服务器端和什么是客户端,并明确您正在使用哪些库,我可能会向您展示如何通过管道传输它。
  • url 来管道它的firebase url,所以是的,它是静态的,我想把它管道到我的服务器,因为我想把它屏蔽给客户端,你需要看到关于服务器的什么?我不知道我在客户端或服务器端需要什么,我是网络开发的新手。所以我有静态 url 在我自己的服务器上进行管道传输,我想向客户端显示文件,而不让客户端获取这个文件或 url 文件,如果你知道另一种方法,我也可以接受,谢谢你时间@jcbdrn

标签: javascript node.js http web redirect


【解决方案1】:

您是否尝试过从要屏蔽的 url 中获取内容然后显示它?

fetch("https://example.com").then(function(response) {
  const ContentType = response.headers.get("Content-Type");
  // Your code here to display the content and set the Content-Type header to the fetched url's Content-Type header.
});

我不明白新标签部分。

【讨论】:

  • 显示内容是什么意思?
【解决方案2】:

能够更改某些现有网页的 url 将是一个主要的安全问题....

但是,您可以让后端获取内容并从您自己的网址提供内容。该技术看起来类似于创建反向代理。

【讨论】:

    猜你喜欢
    • 2021-04-08
    • 1970-01-01
    • 2012-12-10
    • 2014-07-20
    • 2018-04-19
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    • 2017-02-08
    相关资源
    最近更新 更多