Google reCAPTCHA คือบริการฟรีที่ช่วยปกป้องเว็บไซต์ของคุณจากสแปมและการโจมตีจากผู้ไม่หวังดี ใช้เทคนิคการวิเคราะห์ความเสี่ยงขั้นสูงเพื่อแยกมนุษย์และบอทออกจากกัน ผู้ใช้ปลอมจะถูกบล็อกไม่ให้สามารถใช้แบบฟอร์มบนเว็บไซต์ได้
วีธีการใช้งาน Google reCAPTCHA กับ PHP คุณสามารถวาง Google reCAPTCHA ในเว็บไซต์ PHP ได้อย่างง่ายดาย ในบทความนี้ เราจะพูดถึงวิธีการรวม Google reCAPTCHA v2 ใน PHP โดยมีอยู่ 4 ขั้นตอนดังนี้
ขั้นตอนที่ 1 ลงทะเบียนเว็บไซต์ของคุณที่ Google reCAPTCHA
ลงทะเบียนเว็บไซต์ของคุณที่แพลตฟอร์ม Google reCAPTCHA เพื่อรับคีย์ เช่น รหัสไซต์และรหัสลับที่จำเป็นในการเขียนโค้ดรูปแบบ HTML และ PHP คลิกที่นี่ เพื่อไปที่เว็บไซต์ลงทะเบียน Google reCAPTCHA หลังจากลงทะเบียนเสร็จจะได้รับ site_key นำไปใช้ในขั้นตอนที่ 2 และ secret_key นำไปใช้ในขั้นตอนที่ 4
ขั้นตอนที่ 2 สร้างแบบฟอร์ม Google reCAPTCHA ใน HTML
เราจะสร้างแบบฟอร์ม HTML อย่างง่าย โดยใช้หนึ่งช่องป้อนข้อมูล และปุ่ม Submit เราต้องเพิ่มลิงก์ Google reCAPTCHA CDN ในเอกสาร HTML และแท็ก div ในแบบฟอร์มเพื่อรับ reCAPTCHA ในเอกสาร HTML
ลิงก์ CDN: <script src="https://www.google.com/recaptcha/api.js" async defer></script> แท็ก Div: <div class="g-recaptcha" data-sitekey="your_site_key"></div>
<!-- Google reCAPTCHA CDN --> <script src="https://www.google.com/recaptcha/api.js" async defer></script> <form action="action.php" method="post"> <input type="text" name="name" id="name" placeholder="Enter Name" required> <br> <div class="g-recaptcha" data-sitekey="your_site_key"></div> <br> <button type="submit" name="submit_btn"> Submit </button> </form>
ขั้นตอนที่ 3 ในส่วน PHP
หลังจากที่เราส่งแบบฟอร์ม HTML เรียบร้อยแล้ว เราก็ทำการเขียนโค้ด PHP รับข้อมูลที่ส่งมาจากแบบฟอร์ม พร้อมกับรับข้อมูล g-recaptcha-response ที่ได้จากการตอบสนองของ Google recaptcha ด้วยเพื่อทำการตรวจสอบต่อไป
// รับข้อมูลในแบบฟอร์ม $name = $_POST['name']; // ข้อมูลการตอบสนองของ Google recaptcha // เก็บไว้ในตัวแปร $recaptcha $recaptcha = $_POST['g-recaptcha-response'];
ขั้นตอนที่ 4 ตรวจสอบ Captcha
ในการยืนยัน Captcha เราจำเป็นต้องส่งคำขอโพสต์ไปยัง URL https://www.google.com/recaptcha/api/siteverify?secret=<secret_key>&response=<response_key> เพื่อทำการตรวจสอบความถูกต้องของ Captcha ที่ได้รับจากแบบฟอร์ม
- secret_key : ได้รับจากการลงทะเบียนเว็บไซต์ในขั้นตอนที่ 1
- response_key : ค่าที่ได้รับจากการตอบสนองของ Google recaptcha ในขั้นตอนที่ 3 ที่เก็บไว้ในตัวแปล $recaptcha
$secret_key = 'your_secret_key'; // ส่งคำขอตรวจสอบ Captcha $response = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='. $secret_key . '&response=' . $recaptcha); $response = json_decode($response); // ตรวจสอบความถูกต้อง if ($response->success == true) {
// Captcha ถูกต้อง echo "CAPTACHA verified"; } else {
// Captcha ไม่ถูกต้อง echo "คุณไม่ได้ป้อน CAPTCHA อย่างถูกต้อง"; }
นี่เป็นตัวอย่างในการใช้งานพร้อมอธิบาย การใช้งานจริงคุณสามารถออกแบบการใช้งานได้เอง ก็หวังว่าบทความนี้จะเป็นประโยชน์สำหรับทุกท่านที่ได้อ่าน