contact form 7 เป็น WordPress ยอดนิยมอีกตัวที่บรรดาเหล่าชาว Blog ใช้สำหรับสร้างหน้าแบบฟอร์มเอาไว้ติดต่อกลับกับเจ้าของ Blog แน่นอนหากมีช่องทางการติดต่อกลับ เหล่า Spammer ก็พยายามหาวิธีการสแปมเราจนได้ ดังนั้นการตั้งค่าป้องกันการ Spam ใน Contacts Form7 ก็สำคัญเช่นกัน
ส่วนในเรื่องของวิธีการติดตั้ง การปรับแต่ง เพื่อใช้งานตัวฟอร์ม ทาง IndyDiary.com จะไม่ขอพูดถึงเพราะมีคนเขียนบทความให้อ่านเยอะแล้ว สามารถหาจาก Google ได้เลย ดังนั้นบทความนี้จะเน้นเรื่องการปรับแต่งเรื่องความปลอดภัย จากการ Spam ของเหล่า Spammer กันซะมากกว่า
ทำไมถึงต้องป้องกันการสแปมให้กับ Contact Form 7
จากที่กล่าวมาข้างต้นทั้งหมด หากคุณมีหน้าแบบฟอร์มให้คนเข้ามาอ่านเว็บ อ่าน Blog ของคุณ แล้วทำให้ผู้อ่านกรอกฟอร์มต่างๆ ไม่ว่าจะเป็นแบบฟอร์มติดต่อกลับ หรือ แบบฟอร์มสำรวจ หรือ อื่นๆ หากโดนสแปมในแบบฟอร์มเหล่านี้ รับรองได้เลยว่าเหล่า Admin Blog จะไม่ได้รับข้อมูลที่ควรจะได้รับเท่าไร หรือบางครั้ง โดน Spam จนทำให้เว็บล่วงไปเลยก็มี ดังนั้นการป้องกันเอาไว้ก่อนก็ช่วยลดเรื่องพวกนี้ลงไปได้ ซึ่งในบทความที่แล้วเรื่องการใช้ JetPack ป้องกันการป้องกัน Brute force attack protection คลิกอ่านเรื่อง การป้องกัน Brute force attack protection โดยการป้องกันการสแปมในตัว Contacts form7 ก็พอจะอธิบายได้ในหัวข้อต่อไป
Contact Form 7 และ reCAPTCHA (v3) คืออะไร
Google reCAPTCHA (v3) เป็นบริการของ Google ที่ต้องการปกป้องเว็บไซต์ของเราจากสแปมและการละเมิดต่างๆ ภายในเว็บไซต์ โดยระบบของ Google reCAPTCHA นี้มีระบบการวิเคราะห์ความเสี่ยงและป้องกันเพื่อที่จะไม่ให้ซอฟท์แวร์ที่ทำอันตรายต่อเว็บไซต์ของเราเข้ามาทำบางสิ่งบางอย่างในเว็บไซต์ได้ แต่จะให้ผู้ใช้งานที่เป็นคนเข้ามาใช้งานได้ตามปกติ หากเราเคยเห็นกล่องเล็กๆ กล่องหนึ่งที่เราจะต้องมาเลือกทางม้าลาย สะพาน หรือรูปรถยนต์ ให้ถูกต้อง เจ้าสิ่งนั่นแหละคือ Google reCAPTCHA และทาง Google ก็ได้พัฒนา reCAPTCHA มาถึง Version ที่ 3 แล้ว โดยอธิบายรายละเอียดดังนี้
- ใช้แนวคิดที่ชื่อว่า Action ซึ่งเป็น Tag ที่เจ้าของ Website สามารถระบุขั้นตอนต่างๆ ใน User Journey แล้วจึงใช้ reCAPTCHA ทำการวิเคราะห์ Risk Analysis เพิ่มเติม โดยที่ผู้ใช้งานไม่ต้องกรอกแบบฟอร์มหรือตอบคำถามใดๆ
- Google แนะนำให้เจ้าของ Website ทำการติดตั้ง reCAPTCHA v3 เอาไว้ในหลายๆ หน้า เพื่อให้สามารถตรวจจับและวิเคราะห์การโจมตีของผู้โจมตีได้แม่นยำขึ้น
- หน้า Console ของ reCAPTCHA จะมีการแสดง 10 Action สูงสุดที่เกิดขึ้นบน Website ทำให้ระบุได้ชัดเจนว่าหน้าใดมีแนวโน้มที่จะถูกโจมตีบ้าง
- reCAPTCHA v3 นี้ใช้ระบบ Score เพื่อระบุความน่าสงสัยของผู้ใช้งานแต่ละคน และเปิดให้เจ้าของ Website กำหนดได้เองว่า Threshold ในการอนุญาตให้ใช้งานต่อไปได้หรือต้องทำการ Verify ตัวเองนั้นจะเกิดขึ้นเมื่อใดด้วยวิธีการไหน เช่น อาจบังคับให้ใช้ Two-Factor Authentication หรือยืนยันตัวตนผ่านทางเบอร์โทรศัพท์ เป็นต้น
- เจ้าของ Website สามารถผสมคะแนนจาก reCAPTCHA เข้ากับปัจจัยต่างๆ ที่มีอยู่ใน Website ของตนเองได้ เช่น User Profile หรือ Transaction History
- คะแนนใน reCAPTCHA v3 นี้สามารถนำไปส่งต่อให้ Machine Learning ทำการเรียนรู้เพื่อเพิ่มความแม่นยำในการทำงานได้
แน่นอน Google reCAPTCHA ไม่พรี ต้องมีการผูกกับบัญชี Google Account ถึงจะใช้งานได้ แต่สำหรับ Blog เขียน Content อย่างเราใช้งานไม่เยอะถึงจำนวนที่ Google กำหนด เราก็ใช้ฟรีไป
สมัครใช้งาน Google reCAPTCHA
ก่อนการสมัครต้องมี Google Account ก่อน ซึ่ง Google Account จะผูกบริการกับ Google Services ให้อัตโนมัติ โดยการามัครให้ไปที่ My reCAPTCHA และให้เลือก reCAPTCHA V3 ดังรูป
จากรูปเป็นการเลือกสมัคร reCAPTCHAV3 จากหน้า Google reCAPTCHA admin ทำการกรอก Domain ของ Website ที่จะนำมาใช้งาน และ เลือก Register website เราจะได้ Site Key และ secret Key เพื่อนำมาใช่ใน Contact form 7 ของเรา
ขั้นตอนต่อไปให้ไปที่ Plugins Contacts form7 ใน WordPress เลือก Contact > Integration
จากรูปด้านล่างเราจะเห็นตรง reCAPTCHA ให้ทำการใส่ค่า Site Key และ Secret Key และกด Save Changes เท่านี้ Contacts form7 ของเราก็ปลอดภัยจากการป้องกันการ Spam แล้ว
บทสรุปส่งท้าย
การป้องกันการเข้ามาสแปมใน Contacts form7 ของเราจะเป็นการนำ Google reCAPTCHA เข้ามาช่วยในการป้องกัน เพื่อให้ให้เราได้รับการสแปมจาก ฟอร์มที่เราตั้งเอาไว้ติดต่อมากเกินไปจนได้รับข้อมูลที่เป็นขยะ และอีกทั้งยังช่วยให้เว็บไซต์ของเราปลอดภัยจากการโจมตีของเหล่า Hacker และ เหล่า Spammer ได้ระดับหนึ่ง และยังช่วยป้องกัน Web ของเราล่มอีกด้วย