Rumah > Java > javaTutorial > Bagaimanakah reka bentuk seni bina keselamatan rangka kerja Java menghalang serangan CSRF?

Bagaimanakah reka bentuk seni bina keselamatan rangka kerja Java menghalang serangan CSRF?

PHPz
Lepaskan: 2024-06-06 12:21:57
asal
1226 orang telah melayarinya

Rangka kerja Java menghalang serangan CSRF melalui kaedah berikut: Sahkan Token CSRF: Pelayan mengesahkan sama ada Token CSRF dalam permintaan sepadan dengan Token dalam Sesi. Corak Token Penyegerak (STP): Menggunakan token yang dikaitkan dengan borang atau pautan tertentu, pelayan mengesahkan bahawa token sepadan dengan token yang dihantar apabila borang/pautan diserahkan atau diklik. Kuki Hantar Berganda: Gunakan dua kuki untuk mengesahkan bahawa permintaan itu adalah daripada pengguna yang sah.

java框架安全架构设计如何防止 CSRF 攻击?

Rekabentuk Seni Bina Keselamatan Rangka Kerja Java: Mencegah Serangan CSRF

Pengenalan

Pemalsuan Permintaan Silang Tapak (CSRF) adalah sejenis serangan rangkaian yang melakukan serangan tanpa bantuan pada operasi laman web sasaran. Artikel ini akan memperkenalkan cara rangka kerja Java mereka bentuk seni bina keselamatan untuk menghalang serangan CSRF.

Kaedah untuk menghalang serangan CSRF dalam rangka kerja Java

1. Sahkan CSRF Token

  • CSRF Token ialah rentetan rawak yang dijana apabila pengguna log masuk dan disimpan dalam Sesi.
  • Setiap kali pengguna menghantar permintaan kepada pelayan, Token CSRF akan disertakan.
  • Pelayan akan mengesahkan sama ada Token CSRF dalam permintaan sepadan dengan Token dalam Sesi. Jika tiada padanan, permintaan ditolak.

2. Corak Token Penyegerak (STP)

  • STP ialah Token CSRF khas yang dikaitkan dengan bentuk atau pautan tertentu.
  • STP berubah apabila borang atau pautan diserahkan atau diklik.
  • Pelayan termasuk STP dalam bentuk atau paparan terpaut. STP yang sama juga dihantar oleh pelanggan apabila menghantar atau mengklik pada borang/pautan.
  • Pelayan mengesahkan bahawa STP sepadan dengan STP borang/pautan.

3. Double Submit Cookies

  • Kaedah ini menggunakan dua cookies untuk mengelakkan serangan CSRF.
  • Satu kuki digunakan untuk menyimpan Token CSRF dan kuki lain digunakan untuk menjejaki sesi pengguna.
  • Permintaan mengandungi kuki yang mengandungi Token CSRF dan kuki yang mengandungi ID sesi pengguna.
  • Pelayan mengesahkan nilai kedua-dua kuki ini untuk memastikan permintaan itu datang daripada pengguna yang sah.

Kes praktikal

Menggunakan Spring Security untuk menghalang serangan CSRF:

public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            // 启用 CSRF 保护
            .csrf()
            // 使用 Synchronizer Token Pattern
            .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());
    }

}
Salin selepas log masuk

Kesimpulan

Dengan menggunakan kaedah yang ditunjukkan dalam kod, rangka kerja Java boleh mereka bentuk serangan CSRF dengan berkesan. Kaedah ini mengesahkan Token CSRF untuk memastikan bahawa hanya pengguna yang dibenarkan boleh melakukan tindakan pada tapak web sasaran.

Atas ialah kandungan terperinci Bagaimanakah reka bentuk seni bina keselamatan rangka kerja Java menghalang serangan CSRF?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan