有没有办法让next.js API路由响应数据在通过URL访问时隐藏起来?我想隐藏路由,因为有些数据我不想让用户直接访问。
ef1yzkbh1#
保护API routes的快速简单方法可能是通过无状态会话管理库(如iron-session)使用保存/创建和销毁端点来验证和无效Next JS api routes试试Vercel的github example。这可能是一个很好的起点。
iron-session
**请记住:***始终使用最佳身份验证机制来保护任何具有适当权限的直接api路由调用。DYOR *
vltsax252#
在nextjs中没有办法通过url向用户隐藏API路由。事实上,当你托管网站而不从out文件夹导出和托管时,nextjs API路由对任何人都是公开的。我结束了使用node express制作服务器端路由,然后连接到nextjs中的前端。
p1iqtdky3#
这是非常不值得的努力,以隐藏API路由。并为保护API中的重要数据。有CORS和身份验证方法可以防止noicy不必要的流量我发现辉煌的博客上这个https://dev.to/a7u/how-to-protect-nextjs-api-routes-from-other-browsers-3838
guykilcj4#
您可以设置一个authorization头,在每次用户访问该API时检查auth密钥,这样普通用户就无法在不知道auth密钥的情况下访问页面
4条答案
按热度按时间ef1yzkbh1#
保护API routes的快速简单方法可能是通过无状态会话管理库(如
iron-session
)使用保存/创建和销毁端点来验证和无效Next JS api routes试试Vercel的github example。这可能是一个很好的起点。
**请记住:***始终使用最佳身份验证机制来保护任何具有适当权限的直接api路由调用。DYOR *
vltsax252#
在nextjs中没有办法通过url向用户隐藏API路由。事实上,当你托管网站而不从out文件夹导出和托管时,nextjs API路由对任何人都是公开的。我结束了使用node express制作服务器端路由,然后连接到nextjs中的前端。
p1iqtdky3#
这是非常不值得的努力,以隐藏API路由。并为保护API中的重要数据。有CORS和身份验证方法可以防止noicy不必要的流量我发现辉煌的博客上这个
https://dev.to/a7u/how-to-protect-nextjs-api-routes-from-other-browsers-3838
guykilcj4#
您可以设置一个authorization头,在每次用户访问该API时检查auth密钥,这样普通用户就无法在不知道auth密钥的情况下访问页面