繁体   English   中英

将CSRF令牌传递给客户端应用程序

[英]Passing csrf token to client application

我有一个Web应用程序,它分为两个单独的模块(客户端和服务器端)。 服务器定义了REST服务,客户端调用了REST服务来获取数据。 我想让服务器免受CSRF攻击。 因此,任何客户端POST / PUT / DELETE都要求在标头中传递csrf令牌,并且令牌值应等于会话中保存的csrfToken。 我的问题是,由于CSRF令牌是由服务器生成的,客户端应用程序如何获取令牌值?

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

由您决定是否要使用csrf令牌客户端吗?

csrf令牌始终在服务器端后端黑匣子逻辑上的用户的着陆页或用户的第一个ajax请求上创建...

客户端意味着如果使用jsp,那么您就可以轻松编写代码,因为jsp在服务器端,并且它作为程序员知道它的所有优点。

如果在应用程序中,我们使用基于js或js的框架(例如extjs,dojo套件,angularjs,yui或其他任何文件),并且我们的视图为.html文件,那么我觉得我们可以使用着陆页....

登陆页面表示首页...或者如果我们使用ajax,则当用户点击我们的服务器时,用户向服务器请求的第一个ajax ...

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

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

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

请享用 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM