将 csrf 令牌传递到客户端应用程序



>我有Web应用程序,它被分成两个独立的模块(客户端和服务器端)。服务器已找到 REST 服务,客户端调用 REST 服务以获取数据。我想保护服务器免受CSRF攻击。因此,任何客户端 POST/PUT/DELETE 都需要在标头中传递 csrf 令牌,并且令牌值应等于会话中保存的 csrfToken。我的问题是,由于csrf令牌是由服务器生成的,客户端应用程序如何获得令牌值?

客户端是否应该在登录后发送GET请求,服务器生成csrf令牌将其存储为会话属性并将其发送回客户端作为响应,或者是否有更好的解决方案?

如果你想

CSRF令牌客户端,这取决于你想要什么?

CSRF 令牌始终在登陆页面或服务器端后端黑盒逻辑用户的第一个 AJAX 请求中创建...

客户端意味着如果 JSP 那么您可以轻松编写代码,因为 JSP 在服务器端,它作为我们知道的程序员的所有好处......

如果在应用程序中我们使用基于 JS 或 JS 的框架 [如 extJS、Dojo Take Kit、AngularJS、Yui 或任何其他],并且我们的视图是.html文件,那么我觉得我们去登陆页面....

登陆页面意味着第一页...或者如果我们使用 ajax,那么当用户点击我们的服务器时,首先由用户向服务器发出 ajax 请求......

通过第一个 AJAX 请求或登录页面,您可以生成一个令牌并在该用户的整个会话之后将会话中保存为 CSRF 令牌,您必须通过编写过滤器来检查 CSRF 令牌......

在过滤器中必须检查用户会话不为空,用户是登录用户和基于您的应用程序和会话的权限具有CSRF令牌...

因此,由于每个新用户都必须通过您的登录页面[登录页面]并在服务器端获得一个会话,因此不允许任何虚假请求并且您有一个安全层

享受:)

相关内容

最新更新