0

我有一个启用了 CORS 的 GraphQL API,并且我有一组有效的来源,客户端请求可以向 API 发出请求的 URL。

app.use(cors({
  origin: ["https://example.com"],
  optionsSuccessStatus: 200
}))

封锁起源的真正目的是什么?因为这是一个 API,所以任何服务器都可以直接与这个 API 对话。这实际上只会阻止/限制客户端访问 API。

如果实际上拥有一个真正的白名单很重要,我的问题是我是否应该允许http协议,因为http协议很容易被欺骗/钓鱼。

  1. 允许任何来源(*)到启用 CORS 的 API 的主要缺点或安全性是什么?
  2. CORS 白名单域是否应该支持http起源?
4

1 回答 1

0

要回答您的第一个问题,当您使用 * 时,您允许任何人和每个网站向您的 API 发出请求。

对于您的第二个问题,请自行决定,但要问自己:

您的网站上会有很多流量吗?
为什么有人想要访问我的 API?
我有任何可能对自己/公司造成伤害的路线吗?

于 2018-12-18T20:18:07.173 回答