ใช้ recaptcha ของ google ก็น่าจะ ok แต่ไม่เป็นเช่นนั้น

captcha ของ bumblebeeware ด้วย cgi
captcha ของ bumblebeeware ด้วย cgi


5 ส.ค.56
ผมมีเครื่องบริการอยู่ตัวหนึ่งเป็น linux บริการ php 4.4.9 ก็ใช้มาหลายปีแล้วนะครับ ส่วนภาษา perl เป็นรุ่น 5.8.8 แล้วตอนนำ recaptcha ของ google มาใช้กับภาษา php ทำโดยเพิ่มแฟ้มของ php จำนวน 1 แฟ้มเข้าเครื่องบริการก็สามารถใช้บริการได้ปกติ โดยทดสอบ recaptcha ที่ทำงานด้วย php ที่
http://www.thaiall.com/captcha.php

แต่ระบบต่าง ๆ ในเครื่องบริการที่เขียนด้วย perl ตั้งแต่ปี 2542 นั้น ยังไม่ได้ติด captcha เพื่อป้องกัน bot จึงนำ recaptcha มาติดตั้ง แต่พบว่ารุ่นของ perl ที่ใช้อยู่ในเครื่องบริการ ไม่รองรับคำสั่งแบบใหม่ที่ต้องใช้ use module สำหรับหัวข้อปัญหาคือ recaptcha ของ google กับ perl อยู่ร่วมกันไม่ได้ ที่ผมพบ คือ เครื่องบริการไม่ได้อัพเกรดรุ่นของ perl เป็นรุ่นใหม่ ทำให้ใช้กับ module ใหม่ของ recaptcha ไม่ได้ หากย้ายเครื่องบริการหรือเปลี่ยนรุ่น perl ก็ไม่ได้ เพราะมี script เก่า ๆ ทำงานอยู่เพียบเลย

สรุปว่าใช้ script ของ bumblebeeware ซึ่งเป็น cgi ที่เขียนด้วย perl ที่ทำงานบน 5.8.8 ได้ ซึ่ง script ประกอบด้วย 3 ส่วน คือ form.cgi ทำหน้าที่แสดงตัวอักษร 4 ตัวให้ดูแล้วก็พิมพ์ตาม จากนั้นก็จะให้ captcha.cgi ทำหน้าที่แสดงตัวอักษรกราฟฟิกที่ได้จากการสุ่ม (random) แล้วส่งผลให้ check-captcha.cgi ทำหน้าที่ตรวจสอบว่าที่กรอกเข้ามานั้นตรงกันหรือไม่
โดยเข้าไปศึกษาเพิ่มเติมที่
http://bumblebeeware.com/captcha/
แล้วดาวน์โหลดแฟ้มที่เกี่ยวข้องที่
http://bumblebeeware.com/downloads/captchaforperl.tar.gz
แล้วผมก็ทดสอบฟอร์มไว้ที่
http://www.thaiall.com/captcha/form.cgi
บริการ recaptcha ของ google
http://www.google.com/recaptcha