Rumah >Java >javaTutorial >Bagaimana rangka kerja java menghalang serangan CSRF

Bagaimana rangka kerja java menghalang serangan CSRF

WBOY
WBOYasal
2024-06-01 13:29:56887semak imbas

Rangka kerja Java melindungi daripada serangan CSRF melalui mekanisme berikut: Pengesahan Token: Menjana dan mengesahkan token CSRF untuk memastikan permintaan datang daripada sumber yang dijangkakan. Dasar Asal Sama: Penyemak imbas hanya menghantar permintaan ke asal asalnya untuk mengelakkan serangan merentas tapak. Storan token tersuai: Membenarkan menyimpan token CSRF dalam kuki, pengepala atau sesi.

Bagaimana rangka kerja java menghalang serangan CSRF

Bagaimana rangka kerja Java menghalang serangan CSRF

Apakah serangan CSRF?

Serangan pemalsuan permintaan merentas tapak (CSRF) ialah sejenis serangan siber di mana penyerang memperdaya mangsa untuk melakukan tindakan di tapak web tanpa pengetahuan mangsa. Penyerang menggunakan kuki sesi mangsa untuk menyamar sebagai identiti mereka.

Bagaimanakah rangka kerja Java menghalang serangan CSRF?

Rangka kerja Java seperti Spring MVC dan JSF menyediakan berbilang mekanisme untuk menghalang serangan CSRF:

Pengesahan token

  • Spring MVC: Gunakan kaedah anToken CSRF. pada . <code>@CsrfToken 注释在控制器方法上生成 CSRF 令牌。
  • JSF:使用 <inputsecret></inputsecret> 标签生成 CSRF 令牌。

Same-Origin 策略

  • 确保浏览器只向其原始来源(即从该页面加载的 HTML 文档所在的服务器)发送请求。
  • Spring Security 提供了 CsrfConfigurer 配置,可指定需要 CSRF 保护的 URL。
  • JSF 使用 csrfTokenValidator 来验证 CSRF 令牌并阻止跨域请求。

自定义令牌存储

  • 可以将 CSRF 令牌存储在 cookie、header 或会话中。
  • Spring MVC 和 JSF 都允许通过配置 CsrfFilterCsrfTokenRepository
JSF:

Gunakan tag <inputsecret></inputsecret> untuk menjana token CSRF.

Dasar Same-Origin

memastikan bahawa penyemak imbas hanya menghantar permintaan ke asal asalnya (iaitu pelayan tempat dokumen HTML yang dimuatkan dari halaman berada). Spring Security menyediakan konfigurasi CsrfConfigurer untuk menentukan URL yang memerlukan perlindungan CSRF.

JSF menggunakan csrfTokenValidator untuk mengesahkan token CSRF dan menyekat permintaan silang asal.

Storan Token Tersuai

🎜Token CSRF boleh disimpan dalam kuki, pengepala atau sesi. 🎜🎜Kedua-dua Spring MVC dan JSF membenarkan menyesuaikan storan token dengan mengkonfigurasi CsrfFilter dan CsrfTokenRepository. 🎜🎜🎜🎜Kes praktikal: Spring MVC🎜🎜🎜🎜1 Pasang kebergantungan: 🎜🎜
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>5.5.7</version>
</dependency>
🎜🎜2 🎜4 token ke halaman HTML: 🎜🎜
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
            .and()
            // 其他安全配置
        ;
    }
}

Atas ialah kandungan terperinci Bagaimana rangka kerja java menghalang serangan CSRF. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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