✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Opas hCaptcha-integraatiosta PHP: hen

23

Äskettäin yksi lukijoistamme kysyi hCapctha-integraatiosta verkkosivustolla. HCaptcha on mukava vaihtoehto Google reCAPTCHA palveluun. Tässä artikkelissa tutkitaan, miten hCapctha voidaan lisätä PHP: n kanssa verkkosivustoonsa.

On aina suositeltavaa, että verkkosivuilla on captcha. Roskapostit ovat todella huonoja, ja se vain turhauttaa sinua. Et koskaan halua tuhlata arvokasta aikaa väärennettyjen / tarpeettomien kommenttien poistamiseen.

Käyttämällä hCaptchaa käyttäjän on ratkaistava haasteet ennen lomakkeen lähettämistä. Lomakkeen tulisi jatkua vain, jos captcha läpäisee vahvistuksen. Integroimalla captcha, se säästää tonnia roskapostia pääsemästä tietokantaan ja postilaatikkoosi. Koska vain oikea ihminen voi ratkaista captchan pulmia.

Tämän jälkeen katsotaanpa hCaptchan integrointi PHP: hen. Se vaatii tarkistamaan hCaptcha-vastauksen palvelinpuolella. Kirjoitamme palvelinpuolen koodin sekä cURL- että Guzzle-kirjastolla. Käyttäjä voi käyttää mitä tahansa niistä.

Päästä alkuun

Sinun on ensin luotava tili hCaptcha- palvelulla. Toisin kuin Google reCAPTCHA, voit käyttää hCaptcha-avaimia suoraan verkkosivustollasi. Sinun ei tarvitse rekisteröidä verkkotunnustasi heidän kanssaan.

Mutta jos haluat, voit lisätä verkkotunnuksesi napsauttamalla Uusi sivusto -painiketta. Se avaa lomakkeen, jossa sinun on siirrettävä verkkotunnuksesi Isäntänimet-kenttään.

Napsauta sitten taulukon asetuskuvaketta ja tartu sivustoavaimeen.

Opas hCaptcha-integraatiosta PHP: hen

Tartu salaisen avaimen napsauttamalla Asetukset-välilehteä.

Opas hCaptcha-integraatiosta PHP: hen

Kun olet valmis avaimilla, sinun on noudatettava 2 vaihetta. Lisää ensin hCaptcha lomakkeeseesi. Vahvista sitten captcha-vastaus palvelinpuolella.

Luodaan yksinkertainen lomake ja lisätään siihen hCaptcha seuraavasti.

<form action="" method="POST">
    <input type="text" name="email" placeholder="Email" />
    <input type="password" name="password" placeholder="Password" />
    <div class="h-captcha" data-sitekey="YOUR_SITE_KEY"></div>
    <br />
    <input type="submit" name="submit" value="Submit" />
</form>
<script src="https://hcaptcha.com/1/api.js" async defer></script>

Tässä olemme sisällyttäneet hCaptchan JavaScript-kirjaston ja lisänneet luokan h-captchadiv-säilöön. Sinun on myös välitettävä sivustoavain tietomääritteelle data-sitekey.

Lataa sivu uudelleen ja sinun pitäisi nyt nähdä hCaptcha-valintaruutu, joka on lisätty lomakkeeseen. Katsotaanpa nyt, miten captcha-vastaus vahvistetaan.

Vahvista hCaptcha-vaste käyttämällä cURL: ää

Kun käyttäjä lähettää lomakkeen captchan kanssa, sinun on vahvistettava captcha-vastaus palvelinpuolella. Vahvistusta varten sinun on lähetettävä POST-pyynnöt hCaptchan päätepisteeseen https://hcaptcha.com/siteverify. POST-pyynnössä parametrit ovat salainen avain ja h-captcha-response (joka tulee lähetetystä lomakkeesta).

PHP: ssä voimme käyttää sekä cURL: ää että Guzzlea vuorovaikutuksessa ulkoisen palvelimen kanssa. Kun lähetät pyyntöjä cURL: n kautta, varmista, että cURL-laajennus on käytössä palvelimellasi.

Jos kyseessä on cURL, koodisi on seuraava hCaptcha-vastauksen vahvistamiseksi.

<?php
if (isset($_POST['submit'])) {
    $data = array(
        'secret' => "YOUR_SECRET_KEY",
        'response' => $_POST['h-captcha-response']
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://hcaptcha.com/siteverify");
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    $responseData = json_decode($response);
    if($responseData->success) {
        // proceed the form
    } else {
        echo 'Robot verification failed, please try again.';
    }
}
?>

Korvaa paikkamerkki todellisella arvolla. Yllä olevassa koodissa tarkistamme, onko successmuuttuja tosi vastauksessa. Jos se on totta, lomake on turvallinen edetä.

Vahvista hCaptcha Response Guzzlella

Guzzle on vaihtoehto cURL: lle. Se tarjoaa sinulle paljon puhtaamman koodin kuin cURL. Jos käytät Guzzlea, sinun ei tarvitse olla CURL-laajennusta palvelimellasi.

Aloittamiseksi sinun on ensin asennettava Guzzle-kirjasto projektiisi. Suorita alla oleva komento kirjaston asentamiseksi.

composer require guzzlehttp/guzzle

Kirjoita tämän jälkeen koodi, joka vahvistaa hCAPTCHA-vastauksen Guzzlen kirjastolla.

<?php
require_once 'vendor/autoload.php';
 
use GuzzleHttpClient;
 
if (isset($_POST['submit'])) {
 
    $client = new Client([
        // Base URI is used with relative requests
        'base_uri' => 'https://hcaptcha.com',
    ]);
      
    $response = $client->request('POST', '/siteverify', [
       'form_params' => [
            'secret' => "YOUR_SECRET_KEY",
            'response' => $_POST['h-captcha-response']
       ]
    ]);
 
    $body = $response->getBody();
    $arr_body = json_decode($body);
    if($arr_body->success) {
        // proceed the form
    } else {
        echo 'Robot verification failed, please try again.';
    }
}
?>

Toivottavasti ymmärrät hCaptcha-integraation PHP: n kanssa käyttämällä cURL: ää ja Guzzlea. Jaa ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.

Aiheeseen liittyvät artikkelit

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja