【问题标题】:Is there a way to protect visitor from directly accessing api url through browser in Laravel Sanctum有没有办法保护访问者通过 Laravel Sanctum 中的浏览器直接访问 api url
【发布时间】:2020-09-24 05:40:34
【问题描述】:

Laravel Sanctum 中,有没有一种方法可以防止访问者通过浏览器直接访问 API URL,而无需用户进行身份验证。我正在构建一个测验应用程序,我想阻止访问者通过浏览器直接访问 API URL。

在文档中,说明用户必须进行身份验证才能使用身份验证中间件保护 API 路由,但在测验应用程序中,我希望用户即使无需身份验证也能玩。

【问题讨论】:

  • 除了您的测验应用程序之外,不要允许来自该 API 的任何其他请求。每当您的测验应用程序访问该 API 时,请同时发送一些其他参数,以确保我不仅来自您的测验应用程序。

标签: php laravel web-applications


【解决方案1】:

我正在构建一个测验应用程序,我想阻止访问者通过浏览器直接访问 API URL。

[ .... ]

但在测验应用中我希望用户玩甚至无需验证

如果你的服务的网关是 API,那你就自相矛盾了。

至于概念本身,您当然可以创建一个允许访客的 API。毕竟我认为你不需要 Laravel Sanctum,你可以从 original Laravel distribution 开始。

【讨论】:

  • 我刚刚通过添加 api 密钥找到了解决方案,但问题是当我使用 axios 时,任何通过浏览器开发工具进入 app.js 的人都可以看到 api 密钥。
  • 您应该为每个访问您的应用的用户创建一个唯一的 API 密钥。
猜你喜欢
  • 2022-12-18
  • 2014-08-20
  • 1970-01-01
  • 2016-08-21
  • 2012-06-01
  • 2017-10-31
  • 2012-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多