Pada postingan kali ini saya akan membahas tentang Cara Memasang Google ReCaptcha pada Laravel, Google ReCaptcha biasanya digunakan pada aplikasi atau website yang tersedia fitur data collect seperti fitur login, register, contact us.
Apa itu Google ReCaptcha ?
Gооglе Rесарtсhа dapat mеlіndungі website аtаu арlіkаѕі dаrі penipuan dаn реnуаlаhgunааn tаnра menimbulkan gеѕеkаn раdа рrоgrаm. Recaptcha mеnggunаkаn аdvаnсеd risk analysis and аdарtіvе challenges untuk mеnсеgаh ѕоftwаrе (rоbоt) bеrbаhауа dаlаm aktivitas реnуаlаhgunааn wеbѕіtе аtаu арlіkаѕі. Dengan reCaptcha, ѕіtuѕ kіtа аkаn tеrhіndаr dаrі uѕеr bеrtіре robot (bukаn manusia). Karena dengan bеrhаѕіlnуа mеnуеlеѕаіkаn tantangan аtаu сhаlеngе gооglе rесарtсhа, uѕеr dараt tеruѕ lanjut menggunakan website аtаu aplikasi ѕереrtі аktіvіtаѕ mеlаkukаn реmbеlіаn, melihat hаlаmаn аtаu mеmbuаt akun dаn pengguna уаng tеrdеtеkѕі rоbоt (tіdаk bisa mеnуеlеѕаіkаn tantangan аtаu сhаllеngе) tidak аkаn bіѕа lаnjut dan аkаn dіblоkіr.
Langkah 1. Daftar Gооglе Rесарtсhа
Langkah 2 : Buka file Contact Controller
public function send(Request $request)
{
$request->validate([
'subject' => 'required|string',
'name' => 'required|string',
'phone' => 'required|numeric',
'email' => 'required|email',
'message' => 'required',
]);
$token = $request->input('g-recaptcha-response');
if (strlen($token) > 0) {
$data = array(
'subject' => $request->subject,
'name' => $request->name,
'phone' => $request->phone,
'email' => $request->email,
'message' => $request->message,
);
Mail::to('isi dengan email ada)->send(new ContactUsMail($data));
return back()->with('success', 'Pesan anda sukses terkirim');
} else {
return back()->with('info', 'Centang reCAPTCHA dulu bosku!');
}
}
Langkah 3. Buka File Contact.blade.php
<form action="{{ route('send') }}" method="POST" class="wpcf7-form">
@csrf
<p class="col-md-12 col-xs-12">
<input type="text" name="subject" class="wpcf7-form-control wpcf7-text @error('subject') is-invalid @enderror" placeholder="Subject *"
required value="{{ old('subject') }}" autofocus>
@error('subject')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</p>
<p class="col-md-6 col-xs-12">
<input type="text" name="name" class="wpcf7-form-control wpcf7-text @error('name') is-invalid @enderror" placeholder="Name *"
required value="{{ old('name}}">
@error('fname')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</p>
<p class="col-md-6 col-xs-12">
<input type="tel" name="phone" class="wpcf7-form-control wpcf7-text @error('phone') is-invalid @enderror"
placeholder="Phone Number *" required value="{{ old('phone') }}">
@error('phone')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</p>
<p class="col-md-6 col-xs-12">
<input type="email" name="email" class="wpcf7-form-control wpcf7-text @error('email') is-invalid @enderror"
placeholder="Your Email *" required value="{{ old('email') }}">
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</p>
<p class="col-md-12 col-xs-12">
<textarea type="text" name="message" class="wpcf7-form-control @error('message') is-invalid @enderror"
placeholder="Your Message">{{ old('message') }}</textarea>
@error('message')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</p>
<div class="g-recaptcha" data-sitekey="ISI DENGAN DATA SITE KEY KALIAN"></div>
<p class="text-center">
<button class="octf-btn octf-btn-icon octf-btn-primary pull-right">Send Message<i
class="flaticon-right-arrow-1"></i></button>
</p>
</form>
<div class="g-recaptcha" data-sitekey="ISI DENGAN DATA SITE KEY KALIAN"></div>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
Social Media