...
✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Integreerige Google Invisible reCAPTCHA PHP-ga

15

Captcha lisamine veebisaidi vormidesse on tänapäeval vajalik. Veelgi enam, teie postkast ja andmebaas täidavad tonni rämpsposti. See lihtsalt raiskab meie aega e-kirjade puhastamisel ja hõivab ka lisaruumi serveri andmebaasis.

Google reCAPTCHA on parem viis vormide kaitsmiseks robotite eest. Kasutades reCAPTCHA-d, jätkate oma vormidega ainult siis, kui sellel on tegelikke inimsuhtlusi.

Selles artiklis uurime, kuidas integreerida Google Invisible reCAPTCHA oma veebisaidi vormidesse PHP-ga. Nähtamatu reCAPTCHA puhul pole teie külastajatel mõistatusi vaja lahendada. See peab kinnitama päringu serveri poolel taustal.

Registreerige sait ja hankige API-võtmed

Alustamiseks registreerige oma sait siin – https://www.google.com/recaptcha/admin.

Valige valikust „reCAPTCHA v2" valik „Nähtamatu reCAPTCHA märk”.

Integreerige Google Invisible reCAPTCHA PHP-ga

Lisage oma domeen samal kujul. Võite sisestada nii palju domeene kui soovite. Kohaliku serveri jaoks lisab domeeni localhost. Vormi esitamisel saate API võtmed. Kopeerige need klahvid. See on vajalik järgmistes toimingutes.

Integreerige Google Invisible reCAPTCHA PHP-ga

Integreerige Google Invisible reCAPTCHA

Vormis Nähtamatu reCAPTCHA lisamiseks on vaja natuke teistsugust lähenemist. Peame edastama nupule andmete atribuudid ja esitama vormi JavaScripti abil järgmiselt.

<form method="post" id="userForm">
    <p><input type="text" class="form-control" name="fullname" placeholder="Enter full name" /></p>
    <p><button class="g-recaptcha btn btn-primary" data-sitekey="YOUR_SITE_KEY" data-callback="submitForm">Submit</button></p>
</form>
 
<script src='https://www.google.com/recaptcha/api.js'></script>
<script>
function submitForm() {
    document.getElementById('userForm').submit();
}
</script>

See kood lisab teie vormis nähtamatu reCAPTCHA. Kui laadite lehe uuesti, näete reCAPTCHA logo lehe paremas alanurgas.

Siin oleme edastanud reCAPTCHA saidivõtme atribuudile ‘data-sitekey’ ja meetodi nime ‘submitForm’ atribuudile ‘data-callback’. Kui kasutaja nuppu klõpsab, kutsub ta tagasi helistamise meetodit, mis esitab JavaScripti abil vormi.

Nüüd on aeg serveripoolseks valideerimiseks. Kontrollime reCAPTCHA vastuse väärtust Google API URL-iga järgmiselt.

if (isset($_POST['g-recaptcha-response'])) {
    $secret_key = 'YOUR_SECRET_KEY';
    $url = 'https://www.google.com/recaptcha/api/siteverify?secret='.$secret_key.'&response='.$_POST['g-recaptcha-response'];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HEADER, false);
    $data = curl_exec($curl);
    curl_close($curl);
    $responseCaptchaData = json_decode($data);
 
    if($responseCaptchaData->success) {
        echo 'Captcha verified';
        //proceed with form values
    } else {
        echo 'Verification failed';
    }
}

Kui tõeline inimene esitab teie vormi, genereerib ta reCAPTCHA vastuse, mida ülaltoodud kood Google API abil kontrollib. Kui vorm esitatakse robotite kaudu, siis ülaltoodud kontrollimine ebaõnnestub. Vormiga jätkamine peaks toimuma ainult õnnestunud vastuse korral.

Meie lõplik kood on järgmine.

<?php
if (isset($_POST['g-recaptcha-response'])) {
    $secret_key = 'YOUR_SECRET_KEY';
    $url = 'https://www.google.com/recaptcha/api/siteverify?secret='.$secret_key.'&response='.$_POST['g-recaptcha-response'];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HEADER, false);
    $data = curl_exec($curl);
    curl_close($curl);
    $responseCaptchaData = json_decode($data);
 
    if($responseCaptchaData->success) {
        echo 'Captcha verified';
        //proceed with form values
    } else {
        echo 'Verification failed';
    }
}
?>
<form method="post" id="userForm">
    <p><input type="text" class="form-control" name="fullname" placeholder="Enter full name" /></p>
    <p><button class="g-recaptcha btn btn-primary" data-sitekey="YOUR_SITE_KEY" data-callback="submitForm">Submit</button></p>
</form>
 
<script src='https://www.google.com/recaptcha/api.js'></script>
<script>
function submitForm() {
    document.getElementById('userForm').submit();
}
</script>

See selleks! Nautige oma veebisaidil rämpsposti tasuta vorme. Tahaksin kuulda teie mõtteid ja ettepanekuid allpool olevas kommentaaride jaotises.

seotud artiklid

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem