【发布时间】:2017-11-29 15:23:31
【问题描述】:
在我的应用程序中,我同时拥有使用 Ext JS 5.1 的 JSP 和 JS。我需要对我的应用程序应用 spring csrf 保护。 在 Jsp 中,我可以将其添加如下:
<body>
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}">
</body>
但我不确定如何在 .js 文件中执行此操作?我是否也为 ext js 声明了 Meta 标签?我需要将 csrf 令牌应用于每个 ajax 请求。
只是为了强调,我已经扫描了许多网站,但没有得到任何适当的解释或工作示例。如何在 Ext js .js 文件的 ajax 调用中添加 csrf?
【问题讨论】:
-
I need to apply the csrf token to every ajax request.-> 也许this question/answer 可以帮忙。 -
嗨@Alexander,我的问题是我应该如何阅读 .js 文件中的 _csrf.parameterName 和 _csrf.token ?
-
在我看来,这些是在JSP 中被服务器在 发送给客户端之前替换的服务器变量。因此,您必须通过服务器端 API 将这些值输入前端。所以这个问题根本不是 ExtJS 特有的,我来这里是为了 ExtJS 标记。您可能想用 JSP 标签提出一个关于如何将 CSRF 值导入 JSON API 的新问题。
-
嗨@Alexander,您说得部分正确。但是我可以像问题中提到的那样成功地在 jsp 中读取这些变量。我在 extJS 的 .js 文件中获取这些变量时遇到问题。所以更具体地说,这个问题是“如何在 ExtJS 5.1 中启用 scrf?”
标签: ajax jsp extjs csrf csrf-protection