全部产品
Search
文档中心

Web Application Firewall:Integrasikan Anti-Bot SDK ke aplikasi web

更新时间:Jul 06, 2025

Sebelum mengonfigurasi aturan anti-perayapan untuk aplikasi web, Anda harus mengintegrasikan Anti-Bot SDK ke dalam aplikasi tersebut. Dokumen ini menjelaskan cara melakukannya. Dalam dokumen ini, Anti-Bot SDK disebut sebagai SDK.

Komponen

SDK mencakup pengumpul web dan komponen respons API asinkron.

Pengumpul web

Pengumpul web mengintegrasikan karakteristik browser klien ke dalam sistem pertahanan dan serangan anti-bot secara keseluruhan untuk mengidentifikasi serangan yang tidak dapat diidentifikasi menggunakan karakteristik jaringan saja. Hal ini meningkatkan kemampuan perlindungan.

Setelah mengaburkan dan mengenkripsi karakteristik yang dikumpulkan, pengumpul web mengintegrasikan cookie ke dalam nama domain root dan mengirimkannya bersama dengan permintaan. Ini mengurangi dampak pada kinerja browser.

Pengumpul web mengumpulkan informasi berikut:

  • Informasi browser, termasuk jenis dan versi browser, resolusi layar, zona waktu, serta cap waktu.

  • Probe serangan dan pertahanan tertentu, termasuk probe untuk skrip bot tingkat browser umum dan driver.

  • Operasi pengguna, termasuk peristiwa keyboard, mouse, dan sentuhan.

    Catatan

    Peristiwa keyboard hanya mencakup waktu ketika tombol ditekan, bukan tombol mana yang ditekan. Ini membantu melindungi privasi Anda.

Komponen respons API asinkron

Komponen respons API asinkron memungkinkan aplikasi web merespons tantangan yang dikirim ke API oleh sistem pertahanan dan serangan anti-bot. Tantangan tersebut mencakup validasi JavaScript dan verifikasi CAPTCHA. Setelah digunakan, komponen ini merespons ketika mendeteksi bahwa Web Application Firewall (WAF) mengirimkan tanggapan tantangan ke API.

Komponen respons API asinkron tidak menyediakan fitur keamanan atau melakukan pengumpulan data dan pelaporan.

Berikut adalah cara kerja komponen respons API asinkron:

  1. Komponen menulis ulang objek permintaan API umum yang termasuk dalam halaman yang diminta, seperti xmlHttpRequest (XHR), Fetch, dan Form, serta melapisi kode tambahan untuk objek tersebut tanpa memengaruhi fungsionalitas aslinya.

  2. Bukan kode JavaScript dari halaman yang diminta, komponen memeriksa apakah tanggapan dikembalikan oleh WAF. WAF dapat mengirimkan tanggapan tantangan untuk menginstruksikan klien melakukan validasi JavaScript atau verifikasi CAPTCHA.

  3. Jika tanggapan dikembalikan oleh server asal, komponen tidak melakukan operasi pada tanggapan dan meneruskan tanggapan ke kode JavaScript halaman yang diminta. Jika tanggapan dikembalikan oleh WAF, komponen mem-parsing tanggapan, melakukan perhitungan yang diperlukan menggunakan JavaScript, lalu mengirimkan permintaan yang berisi tanda tangan validasi JavaScript ke WAF. WAF memverifikasi tanda tangan validasi JavaScript dan mengirimkan permintaan ke server asal.

Kompatibilitas

  • Kompatibilitas lingkungan: SDK kompatibel dengan browser yang menggunakan mesin rendering Internet Explorer 8 atau versi yang lebih baru.

  • Kompatibilitas dependensi: Browser klien harus mendukung cookie. Jika browser klien tidak mendukung cookie, pengumpul web tidak dapat bekerja sebagaimana mestinya.

  • Kompatibilitas hook: Untuk layanan tertentu, objek hook-native yang digunakan dalam permintaan API sinkron, termasuk XHR, Form, dan Fetch, bertentangan dengan komponen respons API asinkron.

Metode penyebaran

Integrasi otomatis

Anda dapat menggunakan integrasi otomatis hanya jika permintaan yang dikirimkan ke halaman HTML melewati WAF. Integrasi otomatis menghilangkan kebutuhan untuk modifikasi kode pada halaman HTML. Halaman HTML dapat diperbarui pada waktu proses tanpa perlu penyegaran penuh.

Jika Anda memilih Integrasi Otomatis di langkah Konfigurasi Skenario saat membuat template perlindungan spesifik skenario, modul manajemen bot mem-parsing data HTML, menyisipkan pengumpul web dan komponen respons API asinkron ke dalam Document Object Model (DOM), lalu mengembalikan tanggapan yang telah dimodifikasi ke klien ketika modul menangani tanggapan dari halaman HTML. Untuk informasi lebih lanjut, lihat Konfigurasikan Aturan Anti-Perayapan untuk Situs Web.

Catatan

Jika Anda ingin mengintegrasikan SDK ke dalam halaman HTML terkompresi, integrasi otomatis hanya mendukung metode kompresi content-encoding:gzip. Kompresi Brotli dan deflate tidak didukung.

Integrasi manual

Integrasi manual cocok untuk skenario di mana integrasi otomatis tidak didukung. Misalnya, jika permintaan yang dikirimkan ke halaman HTML tidak melewati WAF atau metode kompresi yang ditentukan tidak didukung, Anda tidak dapat menggunakan integrasi otomatis. Untuk melakukan integrasi manual, pastikan kondisi berikut terpenuhi:

  • SDK diintegrasikan ke dalam halaman HTML tempat panggilan asinkron dimulai.

  • SDK diperoleh. Untuk mendapatkan skrip yang diperlukan, lakukan langkah-langkah berikut: Kunjungi halaman Manajemen Bot. Pada tab Scenario-specific Protection, klik Create Template. Di langkah Configure Scenarios, atur parameter Web SDK Integration ke Manual Integration. Lalu, klik Obtain SDK.

    <script src="//o.alicdn.com/frontend-lib/common-lib/jquery.min.js"></script>

Penyebaran lokal

Metode penyebaran ini hanya cocok untuk kasus tertentu, seperti ketika Content Security Policy (CSP) tidak mengizinkan sumber daya dimuat dari alicdn atau semua komponen harus diterapkan di lingkungan lokal. Kami merekomendasikan agar Anda tidak menggunakan metode ini.

Untuk menerapkan SDK di lingkungan lokal, Anda harus membuat dua salinan sumber daya JavaScript di lingkungan lokal, menyalin semua kode JavaScript di Alibaba Cloud CDN ke lingkungan lokal, lalu meletakkan salinan sumber daya JavaScript dan kode tersebut sebelum sumber daya lainnya. Ini memastikan bahwa sumber daya JavaScript dan kode tersebut dimuat terlebih dahulu.