Что такое CSRF?
CSRF (подделка по перекрестному запросу), китайское имя: подделка по перекрестному запросу, также известная как: езда на атаку/сеанс одного клика, аббревиатура: CSRF/XSRF.
Что может сделать CSRF?
Вы можете понять атаки CSRF, подобные этим: злоумышленник украл вашу личность и отправил на ваше имя вредоносную просьбу. Вещи, которые CSRF может включать в себя: отправку электронных писем, отправка сообщений, кража вашей учетной записи и даже покупки товаров, передача денег из виртуальной валюты ... Проблемы, вызванные: личная утечка конфиденциальности и безопасность имущества.
Текущее состояние уязвимости CSRF
Метод атаки CSRF был предложен сотрудниками по внешней безопасности в 2000 году, но только в 2006 году он стал обращать внимание в Китае. В 2008 году уязвимости CSRF были раскрыты во многих крупных сообществах и интерактивных веб -сайтах дома и за рубежом, таких как: nytimes.com (New York Times), Metafilter (большой веб -сайт блога), YouTube и Baidu HI ... Теперь многие сайты в Интернете все еще не подходят для этого, поэтому индустрия безопасности называет CSRF «спящим гигантом».
В рамках проекта Spring Boot атаки CSRF необходимо предотвратить, и могут быть введены только соответствующие фильтры в безопасности весной.
Добавить соответствующие зависимости в POM
<dependencies> <dependency> <groupid> org.springframework.boot </GroupId> <straCactId> Spring-Boot-Starter-Freemarker </artifactid> </dependency> <!-Безопасность (используется только для защиты CSRF)-> <Dependency> <groupid> org.spramework.security </Groupid> <Artifactid> Spring-Security-Web </artifactid> </vehysency> </dependency> </depertive>
Добавьте csrffilter, когда приложение запускается
@Springbootapplicationpublic Class Application Extends webmvcconfigureradapter {@bean public filterRegistrationbean csrffilter () {filterRegistrationBean Регистрация = new FilterRegistrationBean (); Registration.SetFilter (новый CSRffilter (новый httpsessionCsrftOkenRepository ())); registration.addurlpatterns ("/*"); вернуть регистрацию; } public static void main (string [] args) {springApplication.run (application.class, args); }}Добавить скрытое поле CSRF в форме
<input name = "$ {(_ csrf.parametername)!}" value = "$ {(_ csrf.token)!}" type = "hidden">Добавление заголовка CSRF в AJAX
xhr.setrequestheader ("$ {_ csrf.headername}", "$ {_ csrf.token}");Адрес GitHub-https://github.com/kabike/spring-boot-csrf
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.