คำอธิบาย
ED Turnstile เชื่อมต่อเว็บไซต์ WordPress และ WooCommerce เข้ากับ Cloudflare Turnstile ซึ่งเป็นบริการป้องกันบอท/สแปมจาก Cloudflare (บริษัทเดียวกับที่ดูแลความปลอดภัยให้เว็บไซต์ชั้นนำทั่วโลก) ต่างจากระบบยืนยันตัวตนแบบเก่าที่คุ้นเคยกัน (เช่น “คลิกที่รูปรถทั้งหมด” หรือกาเครื่องหมาย “ฉันไม่ใช่โปรแกรมอัตโนมัติ”) — Turnstile ทำงานเบื้องหลังทั้งหมด ผู้ใช้จริงแทบไม่รู้สึกถึงมันเลย แต่บอทและสคริปต์ปลอมจะถูกตรวจจับและบล็อกโดยอัตโนมัติ
เมื่อติดตั้งปลั๊กอินแล้ว ทุกฟอร์มสำคัญของเว็บไซต์ (หน้า Login, สมัครสมาชิก, ลืมรหัสผ่าน, แสดงความคิดเห็น ไปจนถึงฟอร์มของ WooCommerce) จะได้รับการป้องกันทันทีที่เปิดใช้งาน โดยไม่กระทบประสบการณ์ของลูกค้าจริงแม้แต่น้อย
ฟีเจอร์หลัก
🛡️ Cloudflare Turnstile คืออะไร (สำหรับคนทั่วไป)
Turnstile เป็นบริการของ Cloudflare ที่ใช้แทน “แคปช่า” (CAPTCHA) แบบเดิม — จุดต่างที่สำคัญ:
- ไม่มี Checkbox ให้กด ไม่มีภาพปริศนาให้เลือก ไม่ต้องพิมพ์ตัวอักษรเบี้ยว ๆ
- ระบบวิเคราะห์พฤติกรรมของเบราว์เซอร์แบบเงียบ ๆ อยู่เบื้องหลัง (เช่น ลักษณะการเคลื่อนไหว การโหลดหน้าเว็บ) เพื่อแยกแยะว่าเป็นคนจริงหรือโปรแกรมอัตโนมัติ
- คนทั่วไปกรอกฟอร์มและกดส่งได้ตามปกติ แทบไม่รู้ตัวว่ามีการตรวจสอบเกิดขึ้น
- บอทและสคริปต์สแปมจะถูกกันไว้ไม่ให้ส่งข้อมูลสำเร็จ ตั้งแต่ก่อนที่ข้อมูลจะเข้าระบบ
- เป็นบริการฟรีจาก Cloudflare ไม่จำกัดจำนวนครั้งใช้งาน ไม่ต้องมีบัญชี Cloudflare แบบเสียเงิน
🔍 การตรวจสอบฝั่ง Server (อธิบายแบบเข้าใจง่าย)
หลายปลั๊กอินป้องกันสแปมเช็คแค่ “ฝั่งหน้าเว็บ” (ฝั่ง Browser) เพียงอย่างเดียว ซึ่งบอทที่ฉลาดพอสามารถหลบเลี่ยงได้โดยการส่งข้อมูลตรงเข้าระบบโดยไม่ผ่านหน้าเว็บเลย — ED Turnstile ป้องกันจุดอ่อนนี้ด้วยการเช็คซ้ำอีกชั้นที่ ฝั่ง Server:
- เมื่อผู้ใช้กรอกฟอร์มและกดส่ง เบราว์เซอร์จะได้รับ “รหัสยืนยัน” ชิ้นหนึ่งจาก Cloudflare มาพร้อมกับข้อมูลฟอร์ม
- ก่อนที่ WordPress จะยอมรับข้อมูลนั้น (เช่น สร้างบัญชีใหม่ หรือบันทึกความคิดเห็น) ปลั๊กอินจะส่งรหัสยืนยันนั้นไปถามเซิร์ฟเวอร์ของ Cloudflare อีกครั้ง ว่า “รหัสนี้ถูกต้องและมาจากคนจริงหรือไม่”
- ถ้า Cloudflare ตอบว่าใช่ ระบบถึงจะดำเนินการต่อ (ส่งอีเมล บันทึกข้อมูล ฯลฯ) — ถ้าไม่ผ่าน ระบบจะปฏิเสธและแจ้งผู้ใช้ให้ลองใหม่
- ขั้นตอนนี้ยังส่งที่อยู่ IP ของผู้เข้าชมจริงไปให้ Cloudflare ตรวจสอบร่วมด้วย เพื่อความแม่นยำมากขึ้น
ประโยชน์ที่ได้จากการเช็คซ้ำ 2 ชั้นนี้:
- ป้องกันบอทที่พยายามส่งข้อมูล “ลัดขั้นตอน” โดยไม่เปิดหน้าเว็บจริง (Direct POST Attack) — เพราะบอทเหล่านี้ไม่มีรหัสยืนยันที่ถูกต้องจาก Cloudflare มาด้วย จึงถูกปฏิเสธทันทีที่ Server
- ป้องกันการปลอมแปลงคำขอ (CSRF) ด้วยระบบ Nonce มาตรฐานของ WordPress ควบคู่กันไปด้วย เพื่อยืนยันว่าคำขอมาจากฟอร์มบนเว็บไซต์จริง ไม่ใช่จากเว็บอื่นที่แอบส่งข้อมูลมา
- ผลลัพธ์คือสแปมและบอทถูกกรองออกได้อย่างมีประสิทธิภาพ โดยไม่ต้องให้ผู้ใช้จริงทำอะไรเพิ่มเลย
📋 ฟอร์มที่ป้องกันได้ (เปิด/ปิดได้อิสระทีละฟอร์ม)
WordPress:
- หน้า Login
- หน้าสมัครสมาชิก
- หน้าลืมรหัสผ่าน
- ฟอร์มแสดงความคิดเห็น (Comments) — ตรวจสอบเฉพาะผู้เข้าชมทั่วไป ผู้ใช้ที่ Login อยู่แล้วไม่ต้องผ่านการตรวจสอบซ้ำ
WooCommerce:
- My Account — หน้า Login
- My Account — หน้าสมัครสมาชิก
ED Shopper Theme:
- Contact block — ฟอร์มติดต่อในตัวธีม (ตัวเลือกนี้จะปรากฏในหน้าตั้งค่าเฉพาะเมื่อเว็บไซต์ใช้ ED Shopper Theme อยู่เท่านั้น)
⚙️ การตั้งค่า
| การตั้งค่า | คำอธิบาย |
|---|---|
| Site Key | กุญแจสาธารณะจาก Cloudflare Dashboard — ฝังอยู่ในหน้าเว็บ มองเห็นได้ ไม่เป็นความลับ |
| Secret Key | กุญแจส่วนตัวสำหรับให้ Server ใช้ยืนยันกับ Cloudflare เท่านั้น ไม่ถูกเปิดเผยต่อผู้เข้าชมเว็บไซต์ |
| Widget Theme | Auto (ปรับตามระบบ) / Light / Dark — เลือกโทนสีของการตรวจสอบให้เข้ากับธีมเว็บไซต์ |
| Protected Forms | เปิด/ปิดการป้องกันแต่ละฟอร์มได้อิสระ ทีละรายการ |
หน้าตั้งค่ามีตัวบอกสถานะชัดเจนว่า “Turnstile is active” เมื่อกรอก Site Key และ Secret Key ครบถ้วนแล้ว พร้อมลิงก์ไปหน้า Cloudflare Dashboard สำหรับขอกุญแจได้จากในหน้าตั้งค่าเลย
การติดตั้ง
- ติดตั้งและเปิดใช้งานปลั๊กอิน
- ไปที่ Cloudflare Dashboard → สร้าง Site ใหม่ → เลือกโหมด Managed (โหมดแนะนำ ให้ Cloudflare เลือกวิธีตรวจสอบที่เหมาะสมให้อัตโนมัติ)
- คัดลอก Site Key และ Secret Key จาก Cloudflare
- ไปที่ Settings → ED Turnstile ในเว็บไซต์ → วางกุญแจทั้งสองตัว แล้วเลือกฟอร์มที่ต้องการป้องกัน
- กด Save — ทุกฟอร์มที่เลือกไว้จะได้รับการป้องกันทันที ไม่ต้องตั้งค่าอะไรเพิ่มเติม
ความเข้ากันได้
| ปลั๊กอิน / Theme | การทำงานร่วมกัน |
|---|---|
| WooCommerce | ป้องกันฟอร์ม Login และ Register ในหน้า My Account อัตโนมัติ |
| ED Shopper Theme | รองรับ Contact block ในตัวธีม — ตัวเลือกจะปรากฏในหน้าตั้งค่าเฉพาะเมื่อใช้ ED Shopper เท่านั้น |
| Cloudflare | ใช้งานฟรี ไม่จำกัดจำนวนครั้ง ไม่ต้องอัปเกรดแผน Cloudflare |
ข้อมูลทางเทคนิค
| รายการ | ข้อมูล |
|---|---|
| ชื่อปลั๊กอิน | ED Turnstile |
| เวอร์ชัน | 1.0.5 |
| WordPress ขั้นต่ำ | 6.0 |
| PHP ขั้นต่ำ | 7.4 |
| License | GPL-2.0-or-later |
| ผู้พัฒนา | Expensive Design |
| เว็บไซต์ | expensivedesign.com |

