{"id":57425,"date":"2025-09-16T08:15:35","date_gmt":"2025-09-16T01:15:35","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=57425"},"modified":"2026-02-16T10:16:58","modified_gmt":"2026-02-16T03:16:58","slug":"cara-menambahkan-google-recaptcha-di-laravel","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/cara-menambahkan-google-recaptcha-di-laravel\/","title":{"rendered":"Cara Menambahkan Google reCAPTCHA di Laravel"},"content":{"rendered":"\n<p>Melanjutkan panduan sebelumnya tentang cara mengaktifkan <a href=\"https:\/\/www.rumahweb.com\/journal\/cara-mengaktifkan-fitur-2fa-login-di-laravel\/\" target=\"_blank\" rel=\"noopener\" title=\"2FA Laravel\">2FA di Laravel<\/a>, kali ini kami akan membahas tips penting untuk melindungi form login website Anda dari serangan <em>brute force<\/em> yang dilakukan oleh <em>bot <\/em>otomatis. Caranya adalah dengan menambahkan Google reCAPTCHA di Laravel.<\/p>\n\n\n\n<p>Seperti yang sudah banyak diketahui, reCAPTCHA merupakan salah satu solusi efektif untuk mencegah aktivitas mencurigakan dari <em>bot<\/em>, sekaligus menjaga keamanan data pengguna.<\/p>\n\n\n\n<p>Agar implementasinya berjalan lancar, mari ikuti langkah-langkah pada artikel ini secara berurutan sampai selesai.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Apa itu Google reCAPTCHA?<\/h2>\n\n\n\n<p><a href=\"https:\/\/blog.rumahweb.com\/google-recaptcha-adalah\/\" target=\"_blank\" rel=\"noopener\" title=\"Google reCAPTCHA adalah\">Google reCAPTCHA<\/a> adalah layanan gratis dari Google yang berfungsi untuk melindungi situs web dari SPAM, serangan <em>brute force<\/em>, dan penyalahgunaan yang dilakukan oleh bot. Fitur ini bekerja dengan cara membedakan apakah pengakses situs adalah manusia atau mesin, sehingga formulir seperti login, registrasi, maupun komentar tetap aman dari aktivitas mencurigakan.<\/p>\n\n\n\n<p>Selain melindungi dari SPAM, reCAPTCHA juga membantu mengurangi beban server akibat permintaan palsu yang dilakukan bot. Ada beberapa versi reCAPTCHA yang bisa digunakan, misalnya:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>reCAPTCHA v2 (klik &#8220;Saya bukan robot&#8221;) <\/li>\n\n\n\n<li>reCAPTCHA v3 (berjalan di background tanpa interaksi pengguna).<\/li>\n<\/ul>\n\n\n\n<p>Menariknya, layanan seperti ini juga disediakan oleh Cloudflare melalui fitur Turnstile. Jika Anda ingin mempelajari opsi ini, kami juga punya panduan terkait di artikel: <a href=\"https:\/\/www.rumahweb.com\/journal\/cara-menambahkan-recaptcha-di-codeigniter-4\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Cara Menambahkan reCAPTCHA di Contact Form CodeIgniter 4<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Persiapan Sebelum Integrasi reCAPTCHA di Laravel<\/h2>\n\n\n\n<p>Sebelum mulai menambahkan Google reCAPTCHA di Laravel, ada beberapa hal yang perlu Anda siapkan agar proses integrasi berjalan lancar. Pertama, pastikan framework Laravel sudah terinstal dan berjalan normal di server atau localhost Anda. Lalu, Anda juga memiliki akun Gmail untuk men-<em>generate <\/em>Google reCAPTCHA. <\/p>\n\n\n\n<p>Selain itu, pastikan juga Anda sudah memiliki akses ke file konfigurasi Laravel seperti <code>.env<\/code> untuk menyimpan API key secara aman, serta editor kode untuk melakukan penyesuaian pada form login. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cara Menambahkan Google recapctha<\/h2>\n\n\n\n<p>Pada panduan ini kami akan berikan langkah-langkah mudahnya, sehingga pastikan laravel yang Anda miliki tidak terdapat kendala sebelumnya.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1. Edit form Login<\/h3>\n\n\n\n<p>Silahkan Edit form login laravel Anda, umumnya adalah <strong><em>resources\/views\/auth\/login.blade.php<\/em><\/strong><\/p>\n\n\n\n<p>Tambahkan script dibawah (diatas tombol <strong>Forgot your password<\/strong>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div class=\"mt-4 w-full\"&gt;\n    &lt;div class=\"flex justify-center\"&gt;\n        &lt;div class=\"g-recaptcha\" data-sitekey=\"{{ env('RECAPTCHA_SITE_KEY') }}\"&gt;&lt;\/div&gt;\n    &lt;\/div&gt;\n\n    @error('g-recaptcha-response')\n        &lt;div class=\"mt-2 text-sm text-red-600 dark:text-red-400 text-center\"&gt;\n            {{ $message }}\n        &lt;\/div&gt;\n    @enderror\n&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<p>Pada bagian <strong><em>data-sitekey=&#8221;{{ env(&#8216;RECAPTCHA_SITE_KEY&#8217;)<\/em><\/strong>, Anda tidak perlu menambahkan site-key karena akan menggunakan milik file .ENV. <\/p>\n\n\n\n<p>Kemudian tambahkan script berikut, tepat diatas &#8220;<strong>x-guest-layout<\/strong>&#8220;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script src=\"https:\/\/www.google.com\/recaptcha\/api.js\" async defer&gt;&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2. Edit Config Laravel dan .ENV<\/h3>\n\n\n\n<p>Langkah berikutnya dengan mengedit script <strong><em>\/config\/services.php<\/em><\/strong> dan tambahkan config dibawah:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'recaptcha' =&gt; &#91;\n    'key' =&gt; env('RECAPTCHA_SITE_KEY'),\n    'secret' =&gt; env('RECAPTCHA_SECRET_KEY'),\n],<\/code><\/pre>\n\n\n\n<p>Sama seperti sebelumnya, bagian ini Anda tidak perlu mengisi site-key dan secret-key. Selanjutnya, tambahkan config dibawah pada file .ENV dengan format berikut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>RECAPTCHA_SITE_KEY=RECAPTCHA_SITE_KEY\nRECAPTCHA_SECRET_KEY=RECAPTCHA_SECRET_KEY<\/code><\/pre>\n\n\n\n<p>Sesuaikan site-key dan secret-key yang Anda peroleh saat membuat Google reCAPTCHA. Anda dapat mengikuti panduan berikut untuk membuat site-key dan secret-key: <a href=\"https:\/\/www.google.com\/recaptcha\/admin\/create\" target=\"_blank\" rel=\"noopener\" title=\"\">create recaptcha<\/a>. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3. Perbarui Controller Auth Laravel<\/h3>\n\n\n\n<p>Ini merupakan langkah terakhir, yaitu memperbarui script controller <strong><em>\/app\/Http\/Controllers\/Auth\/AuthenticatedSessionController.php<\/em><\/strong><\/p>\n\n\n\n<p>Pada header script <strong><em>AuthenticatedSessionController<\/em><\/strong>, silahkan tambahkan: <strong>use Illuminate\\Support\\Facades\\Http;<\/strong><\/p>\n\n\n\n<p>Kemudian, pada body script &#8211; tepat dibawah <strong><em>public function store(): RedirectResponse<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>   $response = Http::asForm()-&gt;post('https:\/\/www.google.com\/recaptcha\/api\/siteverify', &#91;\n        'secret' =&gt; env('RECAPTCHA_SECRET_KEY'),\n        'response' =&gt; $request-&gt;input('g-recaptcha-response'),\n        'remoteip' =&gt; $request-&gt;ip(),\n    ]);\n  \n    if (!($response-&gt;json()&#91;'success'] ?? false)) {\n        return back()-&gt;withErrors(&#91;\n            'g-recaptcha-response' =&gt; 'Verifikasi reCAPTCHA gagal. Coba lagi.'\n        ])-&gt;withInput();\n    }<\/code><\/pre>\n\n\n\n<p>Bagian <strong>&#8216;secret&#8217; =&gt; env(&#8216;RECAPTCHA_SECRET_KEY&#8217;)<\/strong>, Anda tidak perlu mengisi secret key karena fungsi tersebut akan menggunakan milik file .ENV yang telah ditambahkan sebelumnya pada step 2.<\/p>\n\n\n\n<p>Setelah ketiga langkah singkat diatas Anda lakukan semua, silahkan jalankan perintah dibawah lalu testing akses halaman form loginnya:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>php artisan config:clear\nphp artisan cache:clear<\/code><\/pre>\n\n\n\n<p>Jika berhasil, maka akan tampil sebuah widget milik Google reCAPTCHA seperti gambar dibawah:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/09\/Googlerecapctha_Rumahweb.png\"><img loading=\"lazy\" decoding=\"async\" width=\"518\" height=\"518\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/09\/Googlerecapctha_Rumahweb.png\" alt=\"Menambahkan Google reCAPTCHA di Laravel\" class=\"wp-image-57437\" style=\"width:394px;height:auto\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/09\/Googlerecapctha_Rumahweb.png 518w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/09\/Googlerecapctha_Rumahweb-300x300.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/09\/Googlerecapctha_Rumahweb-150x150.png 150w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/09\/Googlerecapctha_Rumahweb-370x370.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/09\/Googlerecapctha_Rumahweb-270x270.png 270w\" sizes=\"auto, (max-width: 518px) 100vw, 518px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>Selain form login, Anda juga dapat menambahkan widget reCAPTCHA tersebut di form pendaftaran atau form kontak dengan mengambil script yang ada di langkah step 1.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Penutup<\/h2>\n\n\n\n<p>Menambahkan Google reCAPTCHA di Laravel merupakan langkah penting untuk meningkatkan keamanan website, terutama pada form login yang sering menjadi target serangan <em>bot <\/em>dan <em>brute force<\/em>. Dengan reCAPTCHA, Anda bisa memastikan hanya pengguna asli yang dapat mengakses sistem, sehingga kepercayaan dan kenyamanan pengunjung tetap terjaga.<\/p>\n\n\n\n<p>Jika Anda ingin website Laravel berjalan lebih optimal, pastikan juga menggunakan layanan <a href=\"https:\/\/www.rumahweb.com\/hosting-murah\/\" target=\"_blank\" rel=\"noopener\" title=\"hosting terbaik\">hosting terbaik<\/a> dari Rumahweb Indonesia. Dengan Litespeed web server, Monarx Security, dan dukungan teknis 24 jam, aplikasi Laravel Anda tidak hanya lancar tapi juga lebih aman. <\/p>\n\n\n\n<p>Itu dia panduan kami tentang cara menambahkan Google reCAPTCHA di Laravel dengan mudah pada form login. Semoga bermanfaat.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Melanjutkan panduan sebelumnya tentang cara mengaktifkan 2FA di Laravel, kali ini kami akan membahas tips penting untuk melindungi form login website Anda dari serangan brute force yang dilakukan oleh bot otomatis. Caranya adalah dengan menambahkan Google reCAPTCHA di Laravel. Seperti yang sudah banyak diketahui, reCAPTCHA merupakan salah satu solusi efektif untuk mencegah aktivitas mencurigakan dari [&hellip;]<\/p>\n","protected":false},"author":338,"featured_media":57513,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[142],"tags":[1640,796,564],"class_list":{"0":"post-57425","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tips-dan-trik","8":"tag-google-recaptcha","9":"tag-laravel","10":"tag-recaptcha"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/57425","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/users\/338"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=57425"}],"version-history":[{"count":0,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/57425\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/57513"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=57425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=57425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=57425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}