Cara membuat teka-teki CAPTCHA - AWS WAF, AWS Firewall Manager, dan AWS Shield Advanced

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Cara membuat teka-teki CAPTCHA

Anda dapat menggunakan AWS WAF renderCaptcha panggilan di mana Anda ingin di antarmuka klien Anda. Panggilan mengambil teka-teki CAPTCHA dari AWS WAF, merendernya, dan mengirimkan hasilnya untuk verifikasi. AWS WAF Saat Anda melakukan panggilan, Anda menyediakan konfigurasi rendering teka-teki dan panggilan balik yang ingin Anda jalankan saat pengguna akhir menyelesaikan teka-teki. Untuk detail tentang opsi, lihat bagian sebelumnya,. Spesifikasi CAPTCHA API JavaScript

Gunakan panggilan ini bersama dengan fungsionalitas manajemen token dari API integrasi ancaman cerdas. Panggilan ini memberi klien Anda token yang memverifikasi keberhasilan penyelesaian teka-teki CAPTCHA. Gunakan API integrasi ancaman cerdas untuk mengelola token dan untuk menyediakan token dalam panggilan klien Anda ke titik akhir yang dilindungi dengan ACL AWS WAF web. Untuk informasi tentang API ancaman cerdas, lihatMenggunakan JavaScript API ancaman cerdas.

Contoh implementasi

Daftar contoh berikut menunjukkan implementasi CAPTCHA standar, termasuk penempatan URL AWS WAF integrasi di bagian<head>.

Daftar ini mengonfigurasi renderCaptcha fungsi dengan callback sukses yang menggunakan AwsWafIntegration.fetch pembungkus API integrasi ancaman cerdas. Untuk informasi tentang fungsi ini, lihatCara menggunakan fetch pembungkus integrasi.

<head> <script type="text/javascript" src="<Integration URL>/jsapi.js" defer></script> </head> <script type="text/javascript"> function showMyCaptcha() { var container = document.querySelector("#my-captcha-container"); AwsWafCaptcha.renderCaptcha(container, { apiKey: "...API key goes here...", onSuccess: captchaExampleSuccessFunction, onError: captchaExampleErrorFunction, ...other configuration parameters as needed... }); } function captchaExampleSuccessFunction(wafToken) { // Captcha completed. wafToken contains a valid WAF token. Store it for // use later or call AwsWafIntegration.fetch() to use it easily. // It will expire after a time, so calling AwsWafIntegration.getToken() // again is advised if the token is needed later on, outside of using the // fetch wrapper. // Use WAF token to access protected resources AwsWafIntegration.fetch("...WAF-protected URL...", { method: "POST", headers: { "Content-Type": "application/json", }, body: "{ ... }" /* body content */ }); } function captchaExampleErrorFunction(error) { /* Do something with the error */ } </script> <div id="my-captcha-container"> <!-- The contents of this container will be replaced by the captcha widget --> </div>
Contoh pengaturan konfigurasi

Contoh daftar berikut menunjukkan renderCaptcha dengan pengaturan non-default untuk lebar dan pilihan judul.

AwsWafCaptcha.renderCaptcha(container, { apiKey: "...API key goes here...", onSuccess: captchaExampleSuccessFunction, onError: captchaExampleErrorFunction, dynamicWidth: true, skipTitle: true });

Untuk informasi selengkapnya tentang opsi konfigurasi, lihatSpesifikasi CAPTCHA API JavaScript .