在 api 次通话中保护来宾用户 | Laravel

Protect guest user in api calls | Laravel

早上好。我有以下问题。在使用 Laravel 和 Vue js 构建电子商务时,我想保护来宾用户对产品的 API 调用。从某种意义上说,目前可以从任何设备启动路由“http:///domain/api/product.com”并检索产品的 json。我的目标是用户,即使是访客,也可以检索产品,但仅限于站点内,否则如果路由在任何地方都可以访问,则可以从外部发起数百万个同时调用。是否可以使用 Sanctum 或 Passport 来执行此操作,或者是否有其他解决方案?

如果我理解正确,CORS 接受 header 就可以了。只需将 CORS 策略添加到 Laravel 程序并将 Acess-Control-Allow-Origin header 设置为您的域“http://domain/api/product.com”

关于 CORS 的更多详细信息: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

Laravel 中有关如何操作的更多详细信息: https://www.stackhawk.com/blog/laravel-cors/

编辑:ml59 的观点很好,我还建议编写一些带有 IP 白名单的简单中间件。示例可以在这里找到: https://learn2torials.com/a/block-whitelist-ip-address-in-laravel