Apa itu CSRF?
CSRF (Pemalsuan Permintaan Lintas Situs), Nama Cina: Pemalsuan Permintaan Lintas Situs, juga dikenal sebagai: One Click Attack/Sesi Riding, Singkatan: CSRF/XSRF.
Apa yang bisa dilakukan CSRF?
Anda dapat memahami serangan CSRF seperti ini: penyerang mencuri identitas Anda dan mengirim permintaan jahat atas nama Anda. Hal -hal yang dapat dilakukan CSRF meliputi: Mengirim email, mengirim pesan, mencuri akun Anda, dan bahkan membeli barang, mentransfer uang dari mata uang virtual ... masalah yang disebabkan meliputi: kebocoran privasi pribadi dan keamanan properti.
Status kerentanan CSRF saat ini
Metode serangan CSRF diusulkan oleh personel keamanan asing pada tahun 2000, tetapi baru pada tahun 2006 mulai diperhatikan di Cina. Pada tahun 2008, kerentanan CSRF diekspos di banyak komunitas besar dan situs web interaktif di rumah dan di luar negeri, seperti: NYTimes.com (New York Times), Metafilter (situs web blog besar), YouTube dan Baidu Hi ... Sekarang, banyak situs di internet masih belum diperbaiki untuk ini, jadi industri keamanan memanggil CSRF A "raksasa tidur."
Dalam proyek Spring Boot, serangan CSRF perlu dicegah, dan hanya filter yang relevan dalam keamanan musim semi yang dapat diperkenalkan.
Tambahkan dependensi yang relevan di pom
<Dependencies> <dependency> <GroupId> org.springframework.boot </groupid> <ArtifactId> Spring-boot-starter-freemarker </arttifactid> </dependency> <!-keamanan (hanya digunakan untuk perlindungan CSRF)-> <groupure> <groupid> org.springframorker. <ArTifactId> Spring-Security-Web </arttifactid> </gandendency> </dependency> </dependensi>
Tambahkan csrffilter saat aplikasi dimulai
@SpringbootApplicationPublic Class Application Memperluas WebMvCconfigurerAdapter {@Bean Public FilterRegistrationBean csrffilter () {filterRegistrationBean Registration = new filterregistrationBean (); Registrasi.SetFilter (CSRFFILTER baru (httpsessioncsrftokenrepository baru ())); Registrasi.addurlPatterns ("/*"); pendaftaran kembali; } public static void main (string [] args) {springApplication.run (application.class, args); }}Tambahkan bidang tersembunyi CSRF dalam bentuk
<input name = "$ {(_ csrf.parametername)!}" value = "$ {(_ csrf.token)!}" type = "hidden">Menambahkan header CSRF di AJAX
xhr.setRequestHeader ("$ {_ csrf.HeaderName}", "$ {_ csrf.token}");Alamat GitHub adalah https://github.com/kabike/spring-boot-csrf
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.