什么是CSRF?

csrf又称跨域请求伪造,攻击方通过伪造用户请求访问受信任站点。CSRF这种攻击方式在2000年已经被国外的安全人员提出,但在国内,直到06年才开始被关注,08年,国内外的多个大型社区和交互网站分别爆出CSRF漏洞,如:NYTimes.com(纽约时报)、Metafilter(一个大型的BLOG网站),YouTube和百度HI……而现在,互联网上的许多站点仍对此毫无防备,以至于安全业界称CSRF为“沉睡的巨人”。
举个例子,用户通过表单发送请求到银行网站,银行网站获取请求参数后对用户账户做出更改。在用户没有退出银行网站情况下,访问了攻击网站,攻击网站中有一段跨域访问的代码,可能自动触发也可能点击提交按钮,访问的url正是银行网站接受表单的url。因为都来自于用户的浏览器端,银行将请求看作是用户发起的,所以对请求进行了处理,造成的结果就是用户的银行账户被攻击网站修改。
解决方法基本上都是增加攻击网站无法获取到的一些表单信息,比如增加图片验证码,可以杜绝csrf攻击,但是除了登陆注册之外,其他的地方都不适合放验证码,因为降低了网站易用性

CSRF导致的接口访问问题


Could not verify the provided CSRF token because your session was not found in spring security

问题表现:
在开发人员使用Postman调试接口时,已经通过继承WebSecurityConfigurerAdapter过滤了Rest接口拦截的机制,但出现403错误并且提示信息为“Could not verify the provided CSRF token because your session was not found in spring security”。

解决方法:

/*** Web安全配置*/
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http// 关闭csrf保护功能(跨域访问).csrf().disable().authorizeRequests().antMatchers("/api/**").permitAll();//访问API下无需登录认证权限}}

Spring Security4 CSRF 如何关闭CSRF功能相关推荐

  1. spring security CSRF 问题 Invalid CSRF Token 'null' was found on ......

    1. 问题 前面几篇博客 spring security在集成spring boot的微服务框架后,实现了cas认证和权限控制.但是在使用 postman 进行调用的时候出现这个问题 HTTP Sta ...

  2. 使用Spring Security和Thymeleaf进行CSRF保护

    1. 简介 Thymeleaf是一个Java模板引擎,用于处理和创建HTML,XML,JavaScript,CSS和纯文本.有关Thymeleaf和Spring的介绍,请查看这篇文章. 在本文中,我们 ...

  3. 新版Jenkins关闭CSRF“HTTP ERROR 403 No valid crumb was included in the request“

    新版Jenkins关闭CSRF hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION = true & ...

  4. java ajax 登陆验证,Spring Security4实例(Java config版)——ajax登录,自定义验证

    本文源码请看这里 首先添加起步依赖(如果不是springboot项目,自行切换为Spring Security依赖) org.springframework.boot spring-boot-star ...

  5. Spring Security入门01-22 登录验证功能

    课程链接:SpringSecurity框架教程 开始时间:2022-07-17 快速入门 搭建一个Spring Boot项目 添加基础依赖和创建启动类和controller controller @R ...

  6. Spring Security 入门 Remember-Me 记住我功能

    用户选择了"记住我"成功登录后,将会把username.随机生成的序列号.生成的token存入一个数据库表中,同时将它们的组合生成一个cookie发送给客户端浏览器. 当没有登录的 ...

  7. Spring boot中使用Spring Security的记住我 remember-me功能

    Spring boot中使用Spring Security的记住我 remember-me功能 问题描述:Spring security新手,在登录时加上记住我功能,需要使用框架自带的记住我. 记住的 ...

  8. (转)Spring提供的CharacterEncoding和OpenSessionInView功能

    http://blog.csdn.net/yerenyuan_pku/article/details/52902282 前面我们以一种更加优雅的方式集成了Spring4.2.5+Hibernate4. ...

  9. 解密电商系统-Spring boot快速开始及核心功能介绍(下)

    上次说了Spring boot快速开始及核心功能介绍,本次说说配置文件相关的. Spring Boot属性配置文件详解(一) 修改端口 # application.properties: server ...

最新文章

  1. PHP Web 2.0开发实战
  2. 计算机争夺战作文,电脑争夺战作文600字
  3. delphi libeay32 各版本_Zbrush各版本合集
  4. java虚拟机读写其他进程的数据
  5. MATLAB库函数firls(最小二乘线性相位FIR滤波器设计)的C语言实现
  6. nlp构建_使用NLP构建自杀性推文分类器
  7. c++opencv汉字分割_机器学习小白,还不快pick一下——【视觉与图像:阈值分割】...
  8. 要养成良好的书写SQL的习惯
  9. shell调用hive客户端导致nohup后台进程stopped
  10. npm notice created a lockfile as package-lock.json. You should commit this file.
  11. php友情链接大于3换行,细节见真情 PHPWind v5.3友情链接功能改进
  12. layabox flash转html5,FlashBuilder中第一个H5程序“Hello Layabox”
  13. 网络云盘项目——总体介绍、附源码链接
  14. java poi PAGELAYOUT_Apache POI PPT - 幻灯片布局( Slide Layouts)
  15. 非安装版 Python 安装 PIP
  16. 30岁测试员在一家公司工作八年后,告别“体制化”终于跳槽,别再妄想靠公司养老了!
  17. 苹果怎么用微信链接服务器,苹果手机如何设置微信登陆锁
  18. [20130827]A Short History of Nearly Everything[serial]
  19. 数学在计算机科学上的应用文献,计算机科学技术在数学中应用浅析
  20. close函数 qt_QT5笔记:关闭应用程序和窗口的函数

热门文章

  1. imacros中使用变量
  2. 纪念Dropbox君
  3. Android persist类property 知识点
  4. 怎样在LaTeX中使用中文
  5. 【问题描述】在带头结点单链表中查找最大值,将其值与最后一个元素交换,输出交换后的单链表各元素。【输入形式】循环输入若干个整数,以字母结束输入,建立带头结点的单链表。【输出形式】输出最
  6. 2023电工杯数学建模思路 - 复盘:校园消费行为分析
  7. Linux桌面对应的路径
  8. win7系统如何备份还原,win7系统映像备份与恢复
  9. 数据结构进阶 哈希表
  10. 一文数学数模-相关性分析(二)斯皮尔曼相关(spearman)相关性分析一文详解+python实例代码