Dokumen ini menampilkan contoh kebijakan firewall reCAPTCHA yang dapat Anda buat berdasarkan implementasi fitur reCAPTCHA WAF.
Contoh 1: Kebijakan firewall reCAPTCHA dengan token tindakan
Anda dapat menambahkan token tindakan reCAPTCHA untuk melindungi tindakan pengguna, seperti login. Untuk memastikan cookie reCAPTCHA diterbitkan saat pengguna memulai tindakan login, integrasikan skrip token tindakan reCAPTCHA di halaman beranda.
Buat kebijakan firewall reCAPTCHA dengan aturan berikut:
- Jalur tempat aturan harus diterapkan. Dalam kasus ini,
login.php
. - Jika atribut nama tindakan pada token tindakan tidak cocok dengan tindakan pengguna yang dilindungi atau jika skornya kurang dari atau sama dengan 0,1, blokir akses tersebut.
gcloud recaptcha firewall-policies create \
--description="example1 policy" \
--path="/login.php" \
--condition="recaptcha.token.action != "login" || recaptcha.score <= 0.1" \
--actions="block"
Ilustrasi berikut menunjukkan alur kerja yang menggunakan fitur token tindakan reCAPTCHA dan kebijakan firewall reCAPTCHA yang sesuai:
Contoh 2: Kebijakan firewall reCAPTCHA dengan token sesi
Anda dapat menambahkan token sesi reCAPTCHA di halaman yang mungkin diakses pengguna sehingga cookie diperbarui secara berkala, misalnya, halaman checkout. Integrasikan skrip token sesi reCAPTCHA sehingga cookie reCAPTCHA diterbitkan dan diperbarui di backend aplikasi sebelum pengguna memasuki halaman checkout. Di halaman checkout, integrasikan skrip token sesi reCAPTCHA agar cookie reCAPTCHA diterbitkan dan diperbarui di backend aplikasi untuk mencegah masa berlaku cookie habis.
Buat kebijakan firewall reCAPTCHA dengan aturan berikut:
- Jalur tempat aturan harus diterapkan. Dalam kasus ini,
checkout.html
. - Jika skor kurang dari atau sama dengan 0,1, blokir akses.
gcloud recaptcha firewall-policies create \
--description="example2 policy" \
--path="/checkout.html" \
--condition="recaptcha.score <=0.1" \
--actions="block"
Ilustrasi berikut menunjukkan alur kerja yang menggunakan fitur token sesi reCAPTCHA dan kebijakan firewall reCAPTCHA yang sesuai:
Contoh 3: Kebijakan firewall reCAPTCHA dengan halaman tantangan
Anda dapat menambahkan fitur halaman tantangan reCAPTCHA jika ingin pengguna dialihkan ke halaman interstisial tempat fitur tersebut menentukan apakah permintaan pengguna berpotensi menipu atau sah.
Untuk halaman yang ingin Anda lindungi, buat aturan kebijakan firewall reCAPTCHA untuk mengalihkan pengguna ke halaman tantangan:
- Untuk halaman yang dilindungi, jika token tidak valid, alihkan pengguna ke halaman verifikasi. Dalam kasus ini,
index.html
. Jika skor lebih kecil dari atau sama dengan 0,1, alihkan pengguna ke halaman error.
gcloud recaptcha firewall-policies create \ --description="example3 policy" \ --path="/index.html" --condition="!recaptcha.token.valid" --actions="redirect" \ --path="/index.html" --condition="recaptcha.score <= 0.1" --actions="substitute { path: /bot_error }"
Ilustrasi berikut menunjukkan alur kerja yang menggunakan fitur halaman tantangan reCAPTCHA dan kebijakan firewall reCAPTCHA yang sesuai:
Contoh 4: Kebijakan firewall reCAPTCHA dengan token tindakan dan halaman tantangan
Anda dapat menggunakan lebih dari satu fitur reCAPTCHA WAF jika ingin menggunakan tingkat perlindungan yang berbeda di seluruh halaman web. Misalnya, Anda dapat menggunakan fitur token tindakan atau token sesi di halaman untuk menilai traffic masuk menggunakan skor reCAPTCHA, dan menggunakan fitur halaman tantangan di halaman tempat Anda ingin memastikan bahwa pengguna bukan bot.
Anda dapat menambahkan token tindakan reCAPTCHA untuk melindungi tindakan pengguna, seperti login. Untuk memastikan bahwa cookie reCAPTCHA dikeluarkan saat pengguna memulai tindakan login, integrasikan skrip token tindakan reCAPTCHA di halaman sebelum tindakan login yang dilindungi. Misalnya, halaman beranda. Di halaman download, untuk mengalihkan pengguna ke halaman tantangan, gunakan aturan kebijakan firewall reCAPTCHA.
Buat kebijakan firewall reCAPTCHA dengan aturan berikut:
- Jalur tempat aturan harus diterapkan. Dalam kasus ini,
login.php
. - Jika atribut nama tindakan pada token tindakan tidak cocok dengan tindakan
pengguna yang dilindungi atau jika jenis penilaian bukan
ACTION
, atau jika skor lebih kecil dari atau sama dengan 0,1, blokir akses. - Untuk mengalihkan pengguna ke halaman tantangan saat mereka ingin mendownload konten, tambahkan aturan kebijakan firewall untuk mengalihkan pengguna.
- Jika skor lebih kecil dari atau sama dengan 0,1 atau jika jenis penilaian bukan
CHALLENGEPAGE
, alihkan pengguna ke halaman error.
gcloud recaptcha firewall-policies create --description="example4 policy"
--path="/login.php" --condition="recaptcha.token.action != "login" || recaptcha.assessment_type != AssessmentType.ACTION || recaptcha.score <= 0.1" --actions="block"
--path="/content/example.pdf" --condition="recaptcha.assessment_type != AssessmentType.CHALLENGEPAGE" --actions="redirect"
--path="/content/example.pdf" --condition="recaptcha.score <= 0.1 || recaptcha.assessment_type != AssessmentType.CHALLENGEPAGE" --actions="substitute { path: /bot_error }"
Ilustrasi berikut menunjukkan alur kerja yang menggunakan fitur halaman tantangan reCAPTCHA dan token tindakan reCAPTCHA, serta kebijakan firewall reCAPTCHA yang sesuai:
Contoh 5: Kebijakan firewall reCAPTCHA dengan halaman verifikasi dan perlindungan ekspres WAF
Anda dapat menambahkan fitur perlindungan ekspres reCAPTCHA WAF saat ingin menilai interaksi pengguna tanpa hambatan pengguna, lalu mengalihkan pengguna ke halaman tantangan jika skornya rendah. Misalnya, untuk mencegah scraping data, Anda ingin memblokir traffic ke halaman katalog.
Buat kebijakan firewall reCAPTCHA dengan aturan berikut:
- Jalur tempat aturan harus diterapkan.
- Jika skor kurang dari atau sama dengan 0,3, alihkan pengguna ke halaman tantangan.
Contoh berikut membuat kebijakan firewall reCAPTCHA untuk mengalihkan penargetan traffic untuk /catalog1/itemlist.html
saat skornya kurang dari 0,3.
gcloud recaptcha firewall-policies create \
--description="example5 policy" \
--path="/catalog1/itemlist.html" \
--condition="recaptcha.score <= 3" \
--actions="redirect"