Tutorial integrare Google reCAPTCHA in PHP
Salutare tuturor. Acum ceva timp in urma aveam nevoie sa integrez Google recapcha in codurile mele PHP si nu stiam. Acum am reusit sa il integrez si sa il fac sa mearga perfect. Asa ca sa incepem tutorialul si sa va arat cum puteti folosi si voi Google recapcha in codurile voastre PHP.
Prima data aveti nevoie de un cod public si un cod privat pentru a folosi Google recapcha pe care il puteti obtine facand click aici Get reCAPTCHA.
Acum, tot ce trebuie sa facem este sa adaugam Google recapcha in formularul nostru deja existent.
Codul ce trebuie adaugat este urmatorul:
1 |
<div class="g-recaptcha" data-sitekey="Site Key-ul primit de pe pagina de mai sus il puneti aici"></div> |
In cazul meu, formularul arata asa:
1 2 3 4 5 6 7 |
<form action="verifica.php" method="post"> <input type="email" name="email" size="40"><br><br> <textarea name="comentariu" rows="8" cols="39"></textarea><br><br> <div class="g-recaptcha" data-sitekey="Site Key-ul primit de pe pagina de mai sus il puneti aici"></div><br><br> <input type="submit" name="submit" value="Posteaza"><br><br> </form> <script src='https://www.google.com/recaptcha/api.js'></script> |
De asemenea, este foarte important ca din pagina sa nu lipseasca urmatorul cod javascript:
1 |
<script src='https://www.google.com/recaptcha/api.js'></script> |
Acum trecem la partea de PHP.
Fisierul nostru verifica.php trebuie sa arate astfel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response']) ) { $secretkey = "Aici puneti Secret Key-ul primit de pe site-ul de mai sus."; $ip = $_SERVER['REMOTE_ADDR']; // O scurta variabila care ne obtine adresa IP a vizitatorului. $google_verificare=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secretkey ."&response=".$_POST['g-recaptcha-response']."&remoteip=".$ip); $raspuns_verificare_google = json_decode($google_verificare,true); // Acum , cu ajutorul acestor 2 linii (/\) am trimis datele la google pentru a se verifica daca este robot spam sau nu. if(intval($raspuns_verificare_google ["success"]) !== 1) { echo "Imi pare rau, dar verificarile arata ca esti un robot spam! Te rog sa reincerci."; // Mesajul in caz ca vizitatorul a fost detectat ca fiind un robot spam. } else { echo "Felicitari! Comentariul tau a fost postat pe adresa de e-mail: "; echo $_POST['email']; echo " Iar mesajul este urmatorul: "; echo $_POST['comentariu']; // Aceasta este pagina/mesajul care apare daca vizitatorul este curat si nu este nici un fel de robot spam. } } else { echo "Imi pare rau, dar trebuie sa bifezi ca nu esti un robot spam."; // In caz ca nu a completat formularul anti spam. } ?> |
Asta a fost tot! Ne vedem data viitoare cu un nou articol 🙂