如何使用带有PHP前端的play框架(play-2.2.3)提供的CSRF令牌


How can I use CSRF tokens provided by the play framework (play-2.2.3) with a PHP front-end?

我正在使用play-2.2.3来开发API。这些API由PHP/JQuery前端访问。一个简单的例子是resetPassword API。从PHP来看,当我调用重置密码API时,它应该受到CSRF令牌的保护,这样某人就不能简单地调用API并重置他人的密码。除了使用Scala(由Play-2.2.3提供)呈现表单外,是否有一种方法可以手动使用一次性服务器端令牌,这些令牌在重置密码表单中显示为隐藏的表单字段,并在提交表单时由服务器在后请求中进行验证?

想好了如何做到这一点。

  1. 在游戏方面,不要在应用程序中放入任何csrf设置。conf
  2. 在将设置名为PLAY_SESSION=.....-csrfToken=........的cookie的方法上使用@AddCSRFToken注释
  3. 在需要验证的API调用中,完全传递PLAY_SESSION cookie,在queryString中传递csrfToken=.....