如何隐藏nextjs api路由,使其不被通过url直接访问?

aelbi1ox  于 2022-12-03  发布在  其他
关注(0)|答案(4)|浏览(229)

有没有办法让next.js API路由响应数据在通过URL访问时隐藏起来?我想隐藏路由,因为有些数据我不想让用户直接访问。

ef1yzkbh

ef1yzkbh1#

保护API routes的快速简单方法可能是通过无状态会话管理库(如iron-session)使用保存/创建和销毁端点来验证和无效Next JS api routes
试试Vercel的github example。这可能是一个很好的起点。

**请记住:***始终使用最佳身份验证机制来保护任何具有适当权限的直接api路由调用。DYOR *

vltsax25

vltsax252#

在nextjs中没有办法通过url向用户隐藏API路由。事实上,当你托管网站而不从out文件夹导出和托管时,nextjs API路由对任何人都是公开的。我结束了使用node express制作服务器端路由,然后连接到nextjs中的前端。

p1iqtdky

p1iqtdky3#

这是非常不值得的努力,以隐藏API路由。并为保护API中的重要数据。有CORS和身份验证方法可以防止noicy不必要的流量我发现辉煌的博客上这个
https://dev.to/a7u/how-to-protect-nextjs-api-routes-from-other-browsers-3838

guykilcj

guykilcj4#

您可以设置一个authorization头,在每次用户访问该API时检查auth密钥,这样普通用户就无法在不知道auth密钥的情况下访问页面

相关问题