<bdo id='IE761'></bdo><ul id='IE761'></ul>
  • <i id='IE761'><tr id='IE761'><dt id='IE761'><q id='IE761'><span id='IE761'><b id='IE761'><form id='IE761'><ins id='IE761'></ins><ul id='IE761'></ul><sub id='IE761'></sub></form><legend id='IE761'></legend><bdo id='IE761'><pre id='IE761'><center id='IE761'></center></pre></bdo></b><th id='IE761'></th></span></q></dt></tr></i><div id='IE761'><tfoot id='IE761'></tfoot><dl id='IE761'><fieldset id='IE761'></fieldset></dl></div>

    1. <legend id='IE761'><style id='IE761'><dir id='IE761'><q id='IE761'></q></dir></style></legend>
    2. <tfoot id='IE761'></tfoot>
    3. <small id='IE761'></small><noframes id='IE761'>

        如何在 Struts2 应用程序中为 AJAX 请求做 CSRF 保护

        时间:2023-10-12

        • <i id='2kQqZ'><tr id='2kQqZ'><dt id='2kQqZ'><q id='2kQqZ'><span id='2kQqZ'><b id='2kQqZ'><form id='2kQqZ'><ins id='2kQqZ'></ins><ul id='2kQqZ'></ul><sub id='2kQqZ'></sub></form><legend id='2kQqZ'></legend><bdo id='2kQqZ'><pre id='2kQqZ'><center id='2kQqZ'></center></pre></bdo></b><th id='2kQqZ'></th></span></q></dt></tr></i><div id='2kQqZ'><tfoot id='2kQqZ'></tfoot><dl id='2kQqZ'><fieldset id='2kQqZ'></fieldset></dl></div>
          • <bdo id='2kQqZ'></bdo><ul id='2kQqZ'></ul>
            <legend id='2kQqZ'><style id='2kQqZ'><dir id='2kQqZ'><q id='2kQqZ'></q></dir></style></legend>

                  <tbody id='2kQqZ'></tbody>

                  <small id='2kQqZ'></small><noframes id='2kQqZ'>

                  <tfoot id='2kQqZ'></tfoot>

                  本文介绍了如何在 Struts2 应用程序中为 AJAX 请求做 CSRF 保护的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我有一个 struts2 webapp,我需要在其中实现 CSRF 保护.对于统计表格,它非常简单.我只需要激活 tokenSession 拦截器 &然后在要提交的表单中设置.(在 这里 和 这里)

                  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 interceptor & then set <s:token/> in the form to be submitted. (explained here and here)

                  但是当我需要为不一定通过表单提交的 POST AJAX 调用(我使用的是 jQuery)启用 CSRF 保护时,就会出现问题.在进行后续 AJAX 调用时,我面临重复使用令牌的问题.

                  But the problem appears when I need to enable CSRF protection for POST AJAX calls (I am using jQuery) which are not necessarily submitted via forms. I face the issue of re-using token when making subsequent AJAX calls.

                  感谢任何指针或不同的方法.

                  Any pointers or different approaches are appreciated.

                  推荐答案

                  目前我已经通过为 AJAX 请求生成令牌并像这样以正常响应发送它来解决问题 -

                  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());
                  

                  我将从这个 & 中抽象出一个 util 方法.让被令牌激活的操作将其作为响应的一部分返回,这些操作将在不刷新页面的情况下重复执行.

                  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.

                  这篇关于如何在 Struts2 应用程序中为 AJAX 请求做 CSRF 保护的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:使用 strut2 jquery 插件标签将 JSON 对象发送到 Str 下一篇:如何从struts 2 中的java 脚本重定向到struts 动作?

                  相关文章

                  最新文章

                  <small id='C9FPS'></small><noframes id='C9FPS'>

                    <bdo id='C9FPS'></bdo><ul id='C9FPS'></ul>

                      <tfoot id='C9FPS'></tfoot>
                    1. <i id='C9FPS'><tr id='C9FPS'><dt id='C9FPS'><q id='C9FPS'><span id='C9FPS'><b id='C9FPS'><form id='C9FPS'><ins id='C9FPS'></ins><ul id='C9FPS'></ul><sub id='C9FPS'></sub></form><legend id='C9FPS'></legend><bdo id='C9FPS'><pre id='C9FPS'><center id='C9FPS'></center></pre></bdo></b><th id='C9FPS'></th></span></q></dt></tr></i><div id='C9FPS'><tfoot id='C9FPS'></tfoot><dl id='C9FPS'><fieldset id='C9FPS'></fieldset></dl></div>

                    2. <legend id='C9FPS'><style id='C9FPS'><dir id='C9FPS'><q id='C9FPS'></q></dir></style></legend>