【问题标题】:Restrict REST API access to only my website限制 REST API 仅访问我的网站
【发布时间】:2026-02-21 08:05:02
【问题描述】:

我为我的网站创建了 MongoDB 和 Node.js REST API。我正在从 API 访问我的数据库数据并将其显示在我的网站上。我在 localhost 本地做这些事情。

现在我想托管我的 REST API。我对托管没有任何想法。如果我在某处托管我的 REST API 并开始通过其端点获取数据,那么任何人都可以使用这些端点并访问我的数据,但我只想将其限制在我的网站上。意思是,只有我的网站可以向该 API 发出请求,没有其他网站可以发出请求。如果其他网站尝试访问它,它应该会显示错误。我怎样才能做到这一点?有人可以逐步解释我该怎么做吗?

【问题讨论】:

    标签: node.js mongodb api rest security


    【解决方案1】:

    我认为您指的是 CORS。您需要将您的 API 设置为在所有请求上都有这样的响应标头:

    访问控制允许来源:https://yourSiteDomain.com

    您可以在此处阅读更多信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin

    其他人仍然可以通过邮递员等直接访问您的 API。

    【讨论】:

    • 有什么办法不让别人访问
    【解决方案2】:

    你需要的是一个 CSRF(cross site request forgery) 令牌
    对于节点 js,你可以使用
    冲浪:http://expressjs.com/en/resources/middleware/csurf.html
    上网看看如何实现

    【讨论】:

      最近更新 更多