【问题标题】:Protection of API against direct access保护 API 免受直接访问
【发布时间】:2020-09-04 11:00:46
【问题描述】:

我有单独的后端和前端。但是,它们在同一台服务器上运行(将来可能会改变)。后端用作 api,由 Laravel 提供支持。 Nuxt (Vue) 的前端。

我希望只有我的 Nuxt 应用程序可以访问 api。如何将 Laravel 配置为仅在请求来自 Nuxt 应用程序时才返回数据?

我曾考虑在请求中添加特殊令牌,但用户将能够检查发出的请求并捕获令牌。谁能告诉我如何解决这个问题?

【问题讨论】:

  • 你可以看看 cors,对于 lavarel 有这个包:github.com/fruitcake/laravel-cors
  • @dreijntjens CORS 不会阻止任何人直接访问 URL,这不是它的用途

标签: laravel vue.js nuxt.js


【解决方案1】:

您一定知道CORS。因此,在您的 Laravel 服务器中,只允许来自前端服务器域的请求,如下所示:

Access-Control-Allow-Origin: https://www.example.com  

【讨论】:

    【解决方案2】:

    最简单的解决方案是在 nuxt 项目中添加 serverMiddleware 并通过它将所有请求路由到“真实”api。客户端将点击内部 nuxt api,他们将无法看到对真实 api 的实际请求。您还可以在此处添加您正在谈论的令牌以获得额外的安全性。

    【讨论】:

    • 你能举一些简单的例子吗?因为我真的不知道怎么用
    猜你喜欢
    • 1970-01-01
    • 2016-06-23
    • 2013-01-03
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多