返回顶部
首页 > 资讯 > 后端开发 > Python >SpringSecurity解决POST方式下CSRF问题
  • 619
分享到

SpringSecurity解决POST方式下CSRF问题

2024-04-02 19:04:59 619人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录解决方案①(后端常用):解决方案②:解决方案③:解决方案④:问题现象:Http Status 403-Invalid CSRF Token 'null' was

问题现象Http Status 403-Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'

原因spring Security为防止CSRF(Cross-site requetst forgery跨站请求伪造)的发生,限制了除了get以外的大多数方法。

解决方案

①(后端常用):

屏蔽CSRF控制,即Spring Security不再限制CSRF,进行配置:

@Override
protected void configure(httpsecurity http) throws Exception {
     //屏蔽CSRF控制
     http.csrf().disable()
    ... 
}

解决方案②:

定义headers,post方式提交的时候带上headers的信息:

var headers = {};
headers['X-CSRF-TOKEN'] = "[[${_csrf.token}]]";
$.ajax({
    url: url,
    type: "POST",
    headers: headers,
    dataType: "JSON",
    success: function(result) {
    }
});

解决方案③:

直接作为参数提交:

$.ajax({
    url: url,
    data: {
        "[[${_csrf.parameterName}]]": "[[${_csrf.token}]]"
        },
    type: "POST",
    dataType: "json",
    success: function(result) {
    }
});

解决方案④:

fORM表单提交的时候,作为隐藏参数提交

<input type="hidden" th:name="${_csrf.parameterName}" 
    th:value="${_csrf.token}">

到此这篇关于SpringSecurity解决POST方式下CSRF问题的文章就介绍到这了,更多相关SpringSecurity POST CSRF 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringSecurity解决POST方式下CSRF问题

本文链接: https://lsjlt.com/news/165468.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作