当前位置: 首页 > 知识库问答 >
问题:

如何用Spring Boot启用CSRF令牌

傅花蜂
2023-03-14

我使用的是Spring Boot 2.1.1。我认为这个版本的Spring Boot默认启用了CSRF保护(如果我错了请纠正我)。我试图为我的java web应用程序设置CSRF保护,但我不确定需要做什么更改才能显示CSRF令牌。

我正试图通过浏览器检查CSRF令牌。但是,标记的名称和值似乎显示为空白。

<table>
    <c:forEach items="${model.containerObjects}" var="file">
        <tr>
            <form action="/path/container?fileName=${file.getName()}" method="post" id="${file.getName()}">
                <input form="${file.getName()}" type="hidden" value="${file.getName()}" />
                <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
                <td><a href="javascript:{}" onclick="document.getElementById('${file.getName()}').submit()">${file.getName()}</a></td>
                <td>${file.getContentLength()}</td>
                <td>${file.getLastModified()}</td>
            </form>
        </tr>
    </c:forEach>
</table>
<input type="hidden" name="" value="">

共有1个答案

陈法
2023-03-14

正如我们通过问题注释中的对话发现的那样,OP没有添加必要的spring-security依赖项,这是CSRF保护所必需的(因为这是Spring Security的一个特性)。

 类似资料:
  • 如何启用此处列出的ExecutorServiceMetrics? https://github.com/micrometer-metrics/micrometer/blob/master/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jvm/ExecutorServiceMetrics.java SpringB

  • 我读过关于CSRF和不可预测的同步令牌模式是如何用来防止它的。我不太明白它是如何工作的。 让我们以这个场景为例: 用户使用以下表单登录到站点: 服务器还将令牌存储在会话中。发送请求时,它将表单数据中的令牌与会话中的令牌进行比较。 当黑客可以编写JavaScript代码时,如何防止CSRF: 发送GET请求到站点 接收包含请求表单的html文本。 在html文本中搜索CSRF令牌。 使用该令牌发出恶

  • 我希望所有执行器endpoint(在文档中描述)都可用。在文档之后,添加了启动器启动器依赖项和属性,但大多数endpoint不可用(HTTP 404)。 唯一可用的endpoint是,但它显示无用的信息: 添加属性。 添加了依赖项: 获取/执行器的结果 启用执行器endpoint的最小设置是什么?

  • 我如何获得这样一个帖子重定向后登录工作? 更新:我尝试创建一个自定义的来重定向到原始POST请求。但是,我看到原始请求甚至没有保存在中。

  • 我想启用cassandra cqlsession度量。当尝试注册cqlsession度量时,它提供可选的。springboot应用程序中的empty()。这里我使用的是cassandra datastax java驱动程序4.6。 这是我的代码: 正在引发IllegalArgumentException错误。 当参考卡桑德拉税务局的官方文件时(https://docs.datastax.com/e

  • 当我运行测试时,我会得到以下错误(找不到令牌或令牌为空): 我找到了一个暂时的解决方法,但它不是一个好的解决方法…