【问题标题】:Is there a way to fix "Blocked by CORS policy" on the front end?有没有办法在前端修复“被 CORS 策略阻止”?
【发布时间】:2022-11-25 12:23:53
【问题描述】:

我已经构建了一个工具,允许用户在那里抓取自己的网站站点地图。现在我已经将它推到暂存区,我显然得到了 Cors 错误。

有没有办法在不编写云函数的情况下在前端修复它?

错误:“从来源‘https://app.mywebsite.com’访问‘https://www.userswebsite.com/page-sitemap.xml’的 XMLHttpRequest 已被 CORS 策略阻止:无‘Access-Control- Allow-Origin' 标头出现在请求的资源上。”

Firebase.json 文件

{
"hosting": {
    "public": "build",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

【问题讨论】:

  • CORS 是受控在后端 - 没有办法“修复”CORS,如果有,那么 CORS 将完全没有意义

标签: javascript reactjs firebase cors


【解决方案1】:

不可以。出于安全原因,浏览器严重限制了网站与其他网站客户端通信的能力。

一般来说* CORS 像黑名单一样限制您的应用程序可以访问的资源是一种误解,相反,它更接近于白名单。

如果您需要可靠地执行跨源请求,则需要在服务器端执行。

【讨论】:

  • 好,我懂了。因此,每次他们在那里抓取站点地图以启用 cors 时,我都需要编写一个云函数吗?
  • 它可以是一个单一的云函数,它接受一个 URL 又名 cors-anywhere:github.com/Rob--W/cors-anywhere
猜你喜欢
  • 2019-10-31
  • 1970-01-01
  • 2021-10-16
  • 1970-01-01
  • 2020-09-11
  • 2021-04-16
  • 2018-02-26
  • 2019-11-19
  • 2020-09-12
相关资源
最近更新 更多