ให้เรตสมาชิก: 5 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งาน
 

วิธีเช็ค reCaptcha (รีแคปช่า) ใน joomla

รีแคปช่าเป็นระบบที่เช็คว่าคนที่เข้ามาใช้งานเป็นคนจริงๆไม่ใช่โปรแกรมอัตโณมัติ
reCaptcha (รีแคปช่า)

 

          Captcha (แคปช่า) ย่อมาจาก Completely Automated Public Turing Computer and Humans Apart โดยตัว reCaptcha  (รีแคปช่า) จะเป็นตัวที่เช็คว่าคนที่เข้ามาใช้งานเป็นคนจริงๆไม่ใช่โปรแกรมอัตโนมัติ (Bot) โดยเราสามารถเช็คได้ว่าเมื่อผู้ใช้งานกด submit มานั้นมีค่าของตัว reCaptcha  (รีแคปช่า) มาหรือไม่โดยใน Joomla จะสามารถเช็คเมื่อฟอร์มส่งค่าไปยัง controllers โดยจะสร้างเงื่อนไขเช็คในฟังก์ชันอีกทีนึงสามารถทำได้ดังนี้

 

วิธีการเช็ค reCaptcha (รีแคปช่า) ดังนี้

  1. ทำการสมัคร google reCaptcha ดังรูป
    รีแคปช่าเป็นระบบที่เช็คว่าคนที่เข้ามาใช้งานเป็นคนจริงๆไม่ใช่โปรแกรมอัตโณมัติ
    Google reCaptcha
  2. จากนั้นนำโค้ดที่ได้ไปแปะในไฟล์ default.php ที่อยู่ในโฟลเดอร์ tmpl ที่อยู่ในโฟลเดอร์ view อีกทีนึง
    รีแคปช่าเป็นระบบที่เช็คว่าคนที่เข้ามาใช้งานเป็นคนจริงๆไม่ใช่โปรแกรมอัตโณมัติ
    โค้ดที่เอาไปใช้ใน view
  3. จากนั้นก็ไปสร้างเงื่อนไขในฟังก์ชันที่ฟอร์มเรียกใช้ ดังโค้ด
    $name = $post->get('name');
    $cappv = $post->get('g-recaptcha-response');
    $url = JRoute::_("index.php?option=com_mindphptest&view=mindtest");
    $msg = 'กรุณายืนยันตัวตนก่อน';
    $accountingpv;
    $captcha;
    if(isset($name)){
       $accountingpv = $name;
    }if(isset($cappv)){
       $captcha = $cappv;
    }if(!$captcha){
    //หากไม่ยืนยันตัวตนก็จะแสดงข้อความแจ้งว่ากรุณายืนยันตัวตนก่อนและจะกลับมายังหน้าฟอร์มอีกครั้งตาม url ที่ระบุไป
       $this->setRedirect($url, $msg);
       return false;
    }
    $secretkey= 'ระบุ secret (required) key';
    $ip = $_SERVER['REMOTE_ADDR'];
    $response = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secretkey.'&response='.$captcha.'&remoteip='.$ip);
    $responseKeys = json_decode($response,true);​

 

           ในการเช็คตัวรีแคปช่ามันมีข้อดีตรงที่ในการที่จะบันทึกข้อมูลลงฐานข้อมูลนั้นเราก็ต้องเช็คความปลอดภัยในการที่จะบันทึกข้อมูลลงในฐานข้อมูลได้เพราะหากเจอโปรแกรมที่ทำงานอัตโนมัตพวกโปรแกรมแบบนี้จะกรอกข้อมูลลงในฟอร์มแล้วกดปุ่ม submit หากฟอร์มไหนไม่ทำตัวรีแคปช่าดักเมื่อโปรแกรมอัตโนมัตมาเพิ่มข้อมูลอะไรไปหรือมาทำการสมัครก็จะมีการบันทึกข้อมูลลงไปได้และมันก็จะเป็นอันตรายต่อเว็บเราได้จึงทำให้เราควรที่จะใช้ตัวรีแคปช่าเช็คอีกทีนึงเพื่อป้องกันจากผู้ไม่หวังดี

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : Joomla