Rumah > Java > javaTutorial > teks badan

Bagaimana rangka kerja java menghalang serangan skrip merentas tapak

WBOY
Lepaskan: 2024-06-01 21:32:01
asal
544 orang telah melayarinya

Rangka kerja Java menghalang serangan kemasukan skrip merentas tapak (XSSI) melalui strategi berikut: Pengesahan input: Gunakan ungkapan biasa atau senarai putih untuk mengesahkan input pengguna dan menyekat skrip berniat jahat. Keluaran melarikan diri: Melarikan diri input pengguna menggunakan entiti HTML atau aksara melarikan diri sebelum mengeluarkannya, menghalang penyemak imbas daripada mentafsirkannya sebagai kod. Tetapan pengepala HTTP: Tetapkan pengepala HTTP seperti X-XSS-Protection dan Content-Security-Policy untuk meningkatkan keselamatan.

Bagaimana rangka kerja java menghalang serangan skrip merentas tapak

Bagaimana rangka kerja Java menghalang skrip lintas tapak termasuk serangan (XSSI)

foreword

cross-site Scripting termasuk serangan (XSSI) adalah ancaman keselamatan siber yang serius yang membolehkan penyerang melaksanakan kod javascript sewenang-wenangnya di dalam pelayar web anda. Rangka kerja Java boleh menghalang serangan XSSi melalui strategi berikut:

Pengesahan Input

Dengan menggunakan ungkapan biasa atau senarai putih untuk mengesahkan input pengguna, skrip hasad boleh disekat dengan berkesan. Contohnya:

String input = request.getParameter("input");
if (!input.matches("[a-zA-Z0-9]+")) {
    throw new IllegalArgumentException("Invalid input");
}
Salin selepas log masuk

Output escaping

Input pengguna boleh dilepaskan menggunakan entiti HTML atau aksara melarikan diri sebelum ia dikeluarkan ke halaman web. Ini akan menghalang penyemak imbas daripada mentafsir input sebagai kod:

String escapedInput = HtmlUtils.htmlEscape(input);
Salin selepas log masuk

Tetapan pengepala HTTP

Rangka kerja boleh menetapkan pengepala HTTP berikut untuk meningkatkan keselamatan:

  • X-XSS-Protection: Pengepala ini memaklumkan penyemak imbas kira-kira salib Tapak ini meminta pemeriksaan tambahan.
  • Polisi-Keselamatan-Kandungan: Pengepala ini menentukan sumber sumber yang dibenarkan untuk dimuatkan.

Kes praktikal

Berikut ialah contoh menggunakan rangka kerja Spring MVC untuk mencegah serangan XSSi:

Kod:

@PostMapping("/submit")
public String submit(@RequestParam String input) {
    // 输入验证
    if (!input.matches("[a-zA-Z0-9]+")) {
        throw new IllegalArgumentException("Invalid input");
    }

    // 输出转义
    String escapedInput = HtmlUtils.htmlEscape(input);

    // 设置 HTTP 头
    HttpServletResponse response = request.getResponse();
    response.addHeader("X-XSS-Protection", "1; mode=block");
    response.addHeader("Content-Security-Policy", "default-src 'self'");

    // 将转义后的输入显示在页面上
    return "result.jsp?input=" + escapedInput;
}
Salin selepas log masuk

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

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