การปกป้องแบบฟอร์ม WordPress ของคุณด้วย reCaptcha

View in another language:
การปกป้องแบบฟอร์ม WordPress ของคุณด้วย reCaptcha
Author

Benoit Schneider

Managing Technical Director
Date

ใครก็ตามที่เคยมีเว็บไซต์ที่มีแบบฟอร์มต้องเคยพบกับการส่งสแปม อินเทอร์เน็ตดูเหมือนจะเต็มไปด้วยบอทที่ส่งคำขอเกี่ยวกับหัวข้อเดียวกันเสมอ บ่อยครั้งเป็นภาษารัสเซีย reCAPTCHA เป็นเพียงชื่อแปลกๆ ของกลไกบางอย่างที่ปกป้องแบบฟอร์ม HTML จากการส่งสแปมของบอท เทคนิคก่อนหน้านี้บางส่วนรวมถึงการตอบคำถามที่บอทไม่สามารถตอบได้ เช่น “2 + 2 = ?” สองสามปีที่ผ่านมา Google ได้สร้างสคริปต์เวอร์ชันของตัวเองซึ่งเคยมีช่องกาเครื่องหมาย “ฉันไม่ใช่หุ่นยนต์” ให้คลิก จากนั้นก็มีเวอร์ชันอื่นๆ ที่มีรูปภาพซึ่งคุณต้องคลิกรูปภาพที่มีไฟจราจรหรือรถยนต์ เวอร์ชันล่าสุด v3 ไม่ต้องการสิ่งเหล่านี้เลย เห็นได้ชัดว่ามันทำงานได้ไม่สมบูรณ์แบบเนื่องจากคุณยังได้รับสแปมอยู่บ้าง แต่ก็ยังตัดสแปมส่วนใหญ่ออกไปได้

reCaptcha ถูกรวมเข้าในแบบฟอร์มติดต่อที่ 7 ของ WordPress

ในตอนนี้ปลั๊กอินที่ใช้จัดการแบบฟอร์มการติดต่อใน WordPress ที่เห็นได้ชัดเจนที่สุดคือ “Contact Form 7” (ทำไมถึงเป็น “7” เราไม่เคยรู้มาก่อน แต่เดาว่าปลั๊กอินนี้เคยพยายามจัดการมาแล้ว 6 ครั้ง) และลองเดาดูสิว่าปลั๊กอินนี้สามารถจัดการ reCaptcha ได้โดยตรงโดยไม่ต้องติดตั้งปลั๊กอินเพิ่มเติม

ในหน้าการผสานรวม คุณสามารถตั้งค่าการผสานรวมกับ reCaptcha ของ Google ได้

ตรวจสอบบทช่วยสอนด้านล่างเกี่ยวกับวิธีการลงทะเบียนเว็บไซต์ของคุณและรับคีย์ไซต์

https://contactform7.com/recaptcha/

เท่านี้ reCaptcha ก็ปกป้องแบบฟอร์มทั้งหมดแล้ว… ยกเว้นโปรแกรมเมอร์ขี้เกียจที่ Contact Form 7 จะเพิ่มแบบฟอร์มนี้ลงในทุกหน้าของเว็บไซต์ของคุณ ในขณะที่แบบฟอร์มส่วนใหญ่มักจะอยู่ในหน้าเหล่านั้นเพียงไม่กี่หน้าเท่านั้น reCaptcha จะทำให้เว็บไซต์ของคุณพองตัวด้วย CSS และ Javascript ที่ไม่จำเป็น และยังเรียกเซิร์ฟเวอร์ของ Google ในทุกๆ หน้าอีกด้วย

การโหลดสินทรัพย์เฉพาะเมื่อจำเป็นเท่านั้น

โชคดีที่ปัญหาใดๆ ก็มีทางแก้ไขเสมอ ในเว็บไซต์นี้ เราได้เพิ่มโค้ดนี้ลงในไฟล์ functions.php ของธีมของเรา แนวคิดคือลบสคริปต์ CF7 ออกจากทุกหน้า (“เอา” สคริปต์ออก) จากนั้นเพิ่มกลับเข้าไปในหน้าที่จำเป็นเท่านั้น

function manage_cf7_js_styles_recaptcha() {
    // Dequeue cf7 and recaptcha scripts and styles, preventing them from loading everywhere
    wp_dequeue_script( 'contact-form-7' );
    wp_dequeue_script( 'google-recaptcha' );
    wp_dequeue_style( 'contact-form-7' );
    // If current post has cf7 shortcode, enqueue!
    global $post;
    $template = get_page_template_slug($post->ID);
    if( $template == 'page-contact-us.php' || $template == 'page-careers.php' || $template == 'page-current-job-openings.php' ){
        if ( function_exists( 'wpcf7_do_enqueue_scripts' ) ) {
            wpcf7_do_enqueue_scripts();
            wp_enqueue_script( 'google-recaptcha' );
        }
    }
}
add_action( 'wp_enqueue_scripts', 'manage_cf7_js_styles_recaptcha', 10, 0 );

เราจะทราบได้ว่าเมื่อใดจึงจำเป็นต้องใช้ reCaptcha โดยตรวจสอบเทมเพลตของหน้าที่แสดงอยู่ปัจจุบัน โดยปกติแล้วเราจะมีแบบฟอร์มติดต่อเฉพาะในหน้า “ติดต่อเรา” “อาชีพ” และ “ตำแหน่งงานว่างในปัจจุบัน” เท่านั้น
วิธีอื่นคือการตรวจสอบหน้าต่างๆ ตาม ID หรือตรวจสอบว่าใช้ชอทโค้ดจากแบบฟอร์มติดต่อ 7 หรือไม่:

if ( isset( $post->post_content ) AND has_shortcode( $post->post_content, 'contact-form-7' ) ) {

เราหวังว่าบทความนี้จะมีประโยชน์!

Benoit Schneider · Managing Technical Director

After studying to become a Web Engineer at the UTBM in France, Benoit experienced working in various IT departments of large companies in Paris as a web developer then as a project manager before becoming a freelance web consultant in 2010, and finally co-founded Outsourcify in Thailand.

สนใจเวิร์กชอปของเราไหม
พูดคุยกับทีมงานของเรา!

ติดต่อเรา
สนใจเวิร์กชอปของเราไหม
พูดคุยกับทีมงานของเรา!

Related blog articles

ทรัพยากร

เหตุใดการเข้าควบคุมโครงการพัฒนาจึงเป็นความท้าทายเสมอ

สิงหาคม 11, 2025

เหตุใดการเข้าควบคุมโครงการพัฒนาจึงเป็นความท้าทายเสมอ
เหตุใดการเข้าควบคุมโครงการพัฒนาจึงเป็นความท้าทายเสมอ
ทรัพยากร

เว็บไซต์จะไม่สามารถต่อรองได้ในปี 2025 แต่เนื้อหาอาจได้รับการฝึกฝนจาก AI

กรกฎาคม 9, 2025

เว็บไซต์จะไม่สามารถต่อรองได้ในปี 2025 แต่เนื้อหาอาจได้รับการฝึกฝนจาก AI
เว็บไซต์จะไม่สามารถต่อรองได้ในปี 2025 แต่เนื้อหาอาจได้รับการฝึกฝนจาก AI
ทรัพยากร

การเปรียบเทียบต้นทุนรายปีของเครื่องมือ SaaS สำหรับทีมที่มีผู้ใช้ 35 คน และสิ่งที่คุณเรียนรู้ได้จากการเดินทางของเรา

มิถุนายน 11, 2025

การเปรียบเทียบต้นทุนรายปีของเครื่องมือ SaaS สำหรับทีมที่มีผู้ใช้ 35 คน และสิ่งที่คุณเรียนรู้ได้จากการเดินทางของเรา
การเปรียบเทียบต้นทุนรายปีของเครื่องมือ SaaS สำหรับทีมที่มีผู้ใช้ 35 คน และสิ่งที่คุณเรียนรู้ได้จากการเดินทางของเรา
ทรัพยากร

คู่มือสำหรับเกตเวย์การชำระเงินออนไลน์ของประเทศไทย

พฤษภาคม 4, 2025

คู่มือสำหรับเกตเวย์การชำระเงินออนไลน์ของประเทศไทย
คู่มือสำหรับเกตเวย์การชำระเงินออนไลน์ของประเทศไทย
ทรัพยากร

เราจะใช้ DigitalOcean เป็นโครงสร้างพื้นฐานที่ Outsourcify อย่างไร?

ธันวาคม 12, 2023

เราจะใช้ DigitalOcean เป็นโครงสร้างพื้นฐานที่ Outsourcify อย่างไร?
เราจะใช้ DigitalOcean เป็นโครงสร้างพื้นฐานที่ Outsourcify อย่างไร?
ทรัพยากร, เทคโนโลยี

กระบวนการออกแบบโลโก้

มกราคม 31, 2021

กระบวนการออกแบบโลโก้
กระบวนการออกแบบโลโก้
ทรัพยากร

The Debrief : Remote Working ระหว่างกักตัว

มกราคม 7, 2021

The Debrief : Remote Working ระหว่างกักตัว
The Debrief : Remote Working ระหว่างกักตัว
ทรัพยากร

How we facilitate a UX workshop at Outsourcify.

กันยายน 14, 2020

How we facilitate a UX workshop at Outsourcify.
How we facilitate a UX workshop at Outsourcify.
ทรัพยากร

จะทำงานร่วมกับนักพัฒนาเพื่อเปลี่ยนการออกแบบของคุณในเว็บไซต์ WordPress ได้อย่างไร?

กรกฎาคม 8, 2019

จะทำงานร่วมกับนักพัฒนาเพื่อเปลี่ยนการออกแบบของคุณในเว็บไซต์ WordPress ได้อย่างไร?
จะทำงานร่วมกับนักพัฒนาเพื่อเปลี่ยนการออกแบบของคุณในเว็บไซต์ WordPress ได้อย่างไร?