HOWTO do CSRF protection in Struts2 application for AJAX requests

后端 未结 2 1386
北荒
北荒 2021-01-15 16:28

I have a struts2 webapp in which I need to implement CSRF protection. For statis forms it is pretty straight forward. I just need to activate the tokenSession i

相关标签:
2条回答
  • 2021-01-15 16:49

    Currently I have resolved the issue by generating tokens for AJAX requests and sending it with the normal response like so -

        Map<String, String> tokenInfo = Maps.newHashMap();
        tokenInfo.put("struts.token.name", TokenHelper.getTokenName());
        tokenInfo.put(TokenHelper.getTokenName(), TokenHelper.setToken());
    

    I will abstract out a util method out of this & have the Actions that are token-activated to return this as part of response for actions which will be executed repeatedly without refresh of the page.

    I am still looking for an elegant solution to this though.

    0 讨论(0)
  • 2021-01-15 17:05

    Can't you generate a Token and use it as parameter in the ajax call ?

    For the subsequent AJAX calls, you can use a per-user Token,

    not necessarily a per-request Token,

    as explained in this SO answer: Do I need a CSRF token for jQuery .ajax()?

    0 讨论(0)
提交回复
热议问题