我正在构建一个 Next.js 应用程序,在其中一个页面上,我需要调用其中一个路由/api。
调用此 API 路由会执行状态更改操作,因此确保调用不是来自试图冒充我的用户的攻击者非常重要。
以下面为例:
fetch('/api/grantPermissions', {
headers: ...,
method: 'POST',
body: JSON.stringify({resource: 'someresourceid', permission: 'somepermission'})
})
Run Code Online (Sandbox Code Playgroud)
我注意到没有很多解决方案可以保护 Next.js API 路由免受 CSRF 攻击,所以我考虑的是以下内容:
/api/grant检查提供的 CSRF 令牌是否与会话中的相同这是使用同步器令牌模式防止 CSRF 攻击的安全方法吗?这种方法可能会导致哪些漏洞?