¿Qué es CSRF?
CSRF (falsificación de solicitud de sitio cruzado), Nombre chino: falsificación de solicitudes de sitios cruzados, también conocido como: Ataque de un clic/Riding, Abreviatura: CSRF/XSRF.
¿Qué puede hacer CSRF?
Puedes entender los ataques de CSRF como este: el atacante robó tu identidad y envió una solicitud maliciosa a tu nombre. Cosas que CSRF puede hacer incluyen: enviar correos electrónicos, enviar mensajes, robar su cuenta e incluso comprar bienes, transferir dinero de moneda virtual ... los problemas causados incluyen: fuga de privacidad personal y seguridad de la propiedad.
Estado actual de la vulnerabilidad CSRF
El método de ataque de CSRF fue propuesto por el personal de seguridad extranjera en 2000, pero no fue hasta 2006 que comenzó a ser prestado atención en China. En 2008, las vulnerabilidades de CSRF se expusieron en muchas comunidades grandes y sitios web interactivos en el hogar y en el extranjero, como: NYTimes.com (New York Times), MetaFilter (un gran sitio web de blog), YouTube y Baidu Hi ... Ahora, muchos sitios en Internet aún no están preparados para esto, por lo que la industria de seguridad llama a CSRF a "gigantes para dormir".
En un proyecto de arranque de primavera, los ataques CSRF deben prevenirse, y solo se pueden introducir filtros relevantes en la seguridad de primavera.
Agregar dependencias relevantes en POM
<Spendencies> <Spendency> <MoupRoMID> org.springframework.boot </proupid> <artifactID> spring-boot-starter-freemarker </artifactid> </pepertency> <!-Security (utilizado solo para csrf protection)-> <pendency> <MoupRupid> org.springframework.security </groupid> <artifactId> Spring-Security-Web </artifactId> </pendency> </dependencia> </pendencs>
Agregar csrffilter cuando comience la aplicación
@SpringBootApplicationPublic Sploling Aplicación extiende WebMVCConfigurerAdapter {@Bean public FilterRegistrationBean CSRFFILTER () {FilterRegistrationBean Registration = new FilterRegistrationBean (); Registration.SetFilter (nuevo CSRFFILTER (nuevo httpsessionCSrfTokenRepository ())); Registration.addurlPatterns ("/*"); Registro de devolución; } public static void main (string [] args) {springapplication.run (application.class, args); }}Agregar campo oculto de CSRF en forma
<input name = "$ {(_ csrf.parametername)!}" value = "$ {(_ csrf.token)!}" type = "Hidden">Agregar el encabezado de CSRF en AJAX
xhr.setRequestHeader ("$ {_ csrf.headername}", "$ {_ csrf.token}");La dirección de Github es https://github.com/kabike/spring-boot-csrf
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.