<legend id='EJNQj'><style id='EJNQj'><dir id='EJNQj'><q id='EJNQj'></q></dir></style></legend>

  • <small id='EJNQj'></small><noframes id='EJNQj'>

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

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

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

        时间:2023-06-14
        <tfoot id='Yn8Jb'></tfoot><legend id='Yn8Jb'><style id='Yn8Jb'><dir id='Yn8Jb'><q id='Yn8Jb'></q></dir></style></legend>
          <tbody id='Yn8Jb'></tbody>

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

            • <bdo id='Yn8Jb'></bdo><ul id='Yn8Jb'></ul>

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

                1. 本文介绍了如何在 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 保护的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

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

                  相关文章

                  <tfoot id='FWdkF'></tfoot>
                    • <bdo id='FWdkF'></bdo><ul id='FWdkF'></ul>
                  1. <small id='FWdkF'></small><noframes id='FWdkF'>

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