CORS和CSRF

一、CORS 和 CSRF 区别

  • CORS(Cross Origin Resource Sharing)跨域资源分享

CORS是一种机制,通过在HTTP响应头中加入特定字段限制不同域的资源请求CSRF(Cross Site Request Forgery)跨站请求伪造

  • CSRF(Cross Site Request Forgery)跨站请求伪造

CSRF 是一种web攻击手段,通过向服务器发送伪造请求,进行恶意行为的攻击手段

  • XSS : Cross Site Scrit 跨站脚本攻击

(为与 CSS 区别,所以在安全领域叫 XSS)

参考:CORS和CSRF--学习笔记_Aussie_的博客-CSDN博客_cors和csrf区别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Security是一个强大的安全框架,用于在Spring应用程序中实现身份验证、授权和其他安全功能。它也提供了对CORSCSRF的支持。 对于CORS,Spring Security提供了一些配置选项来允许跨域资源共享。你可以通过`cors()`方法来启用CORS支持,并配置允许访问的域、方法和头部。例如,以下配置允许来自任何域的GET和POST请求: ```java @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .cors().and() // 其他配置... } @Bean public CorsConfigurationSource corsConfigurationSource() { CorsConfiguration configuration = new CorsConfiguration(); configuration.addAllowedOrigin("*"); configuration.addAllowedMethod("GET"); configuration.addAllowedMethod("POST"); configuration.addAllowedHeader("*"); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", configuration); return source; } } ``` 对于CSRF防护,Spring Security默认会启用CSRF保护。它会自动生成一个CSRF令牌,并将其包含在表单中或者在请求头中发送。开发者可以通过配置来自定义CSRF令牌的生成和验证方式。以下是一个简单的配置示例: ```java @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()).and() // 其他配置... } } ``` 上述配置将CSRF令牌存储在Cookie中,并且在响应中发送给客户端,客户端将令牌作为请求的一部分发送给服务器进行验证。 综上所述,Spring Security提供了对CORSCSRF的支持,并且可以通过配置来自定义其行为。开发者可以根据具体需求进行相应的配置和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值