ใช้ recaptcha กรอง spam จาก bot

recaptcha v.2
recaptcha v.2

มนุษย์เราสร้างโปรแกรมดีก็เยอะ ไม่ดีก็แยะ
โปรแกรมบางตัวทำตัวเหมือนมนุษย์แบบสปาย
พอจะเปิดบริการให้ใครเข้าถึงได้ ก็ต้องกรอง
ว่าคำขอใด เป็นของมนุษย์ หรือไม่ใช่ของมนุษย์
เดี๋ยวนี้ google บริการ recaptcha
ช่วยคัดกรองความเป็นมนุษย์

http://www.thaiall.com/captcha.php
แต่โปรแกรมที่จะใช้งานก็ต้องรองรับ recaptcha
ช่วงบ่ายวันนี้ ลองใช้ recaptcha v.2 ง่ายกว่า v.1 เยอะ
ใช้เครื่องที่ทำงาน กรองได้สบาย ทั้งเขียนง่าย และง่ายผู้ใช้
แต่บางเครื่องก็มีปัญหาใช้คำสั่งที่ใคร ๆ เขาใช้ .. ก็ไม่ได้
ต้องไปหาคำสั่งอื่นมาทดแทน สรุปว่าต้องไปใช้
ฟังก์ชัน curl แทน file_get_contents
เพราะเครื่องที่จะใช้ไม่บริการฟังก์ชันนี้
ปล.เครื่องที่มีปัญหา เช่าเค้าอยู่ อยู่กันมานานล่ะ

http://www.thaiall.com/captcha_click.php

ขั้นตอน
1. เตรียม Server ที่รองรับ PHP
2. สมัครใช้ recaptcha จาก google.com
3. กำหนด host name และ domain name ที่ใช้
4. คัดลอก public & private key ไปใช้ใน code
5. เขียน code คือ form กับ verify
6. ทดสอบ และใช้งาน

ใช้ 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

แก้ปัญหาข่าวหายไปจากระบบอย่างไร้ร่องรอย

news nivate
ระบบจัดการข่าว .. ที่ข่าวหายไปอย่างไร้ร่องรอย

22 ก.พ.54 ระบบจัดการข่าวออนไลน์ที่มีการพัฒนาขึ้น และใช้งานมาแล้วระยะหนึ่ง .. ช่วงหลังผู้ใช้งานระบบพบปัญหาว่าข่าวเดิมหายไป แล้วเขาเชื่อว่ามีผู้ไม่ประสงค์ดีเข้าไปลบข่าวออก เมื่อตรวจพฤติกรรมของผู้ใช้งานระบบก็พบว่า มีการเปิดเว็บเพจระบบจัดการข่าวผ่าน bookmark ประกอบกับการปฏิบัติการทันทีเมื่อคลิ๊ก เช่น ลบเมื่อคลิ๊ก เปลี่ยนสถานะเมื่อคลิ๊ก โดยไม่มีการกรองผ่าน captcha หรือ password verify ซึ่งปัญหาอาจเกิดจาก  google.com หรือ browser เข้ามาดูดเว็บเพจ ทำให้มีการเรียกใช้ลิงค์จนเกิด action อย่างไม่ตั้งใจ
จึงแก้ไขโปรแกรมอย่างง่าย ด้วยการเพิ่ม password verify ผ่านการพิมพ์ก่อน action ทำให้การกดปุ่มลบหรือเปลี่ยนสถานะการแสดงข่าวไม่ทำงาน จนกว่าจะรับข้อมูลที่ยืนยันผ่านผู้ใช้งานระบบ ก็เชื่อว่าปัญหาข่าวหายไปอย่างไร้ร่องรอยจะไม่เกิดขึ้นอีก

ปรับ captcha ของ phpbb3 สู้กับ sex bot script

ผลปรับ captcha
ผลปรับ captcha

7 ธ.ค.52 วันนี้เวลาประมาณ 07:21AM. ได้รับแจ้งจาก อ.วิเชพ ใจบุญ ว่ามีศิษย์เก่าแจ้งให้ทราบว่าเว็บบอร์ดถูก bot ยิงภาพโป๊เข้ามาในระบบเว็บบอร์ดของมหาวิทยาลัย เมื่อเวลาผ่านไปสักพักผมได้หารือกับคุณธรณินทร์ สุรินทร์ปันยศ พบว่า เว็บบอร์ดที่ถูกยิงใช้ script ของ phpbb รุ่น 3.0.1 เพื่อทบทวนกันแล้วพบทางเลือก 3 ทางคือ 1)upgrade script จากphpbb 3.01 เป็น 3.06 ซึ่งผมก็ไม่แน่ใจว่า script ใหม่ แต่นโยบายเก่าจะกัน bot ได้หรือไม่ 2)ปิดการ post ผ่าน user ที่ไม่ต้อง register ซึ่งปัจจุบันระบบเปิดให้คนทั่วไปที่ไม่ต้องสมัครสมาชิก สามารถ post ได้ รวมถึงผู้มีข้อเสนอแนะ นักเรียน หรือผู้ปกครองที่สนใจจะส่งข้อมูลเข้าสู่ระบบจะได้สะดวก โดยไม่จำเป็นต้องถูกบังคับให้แสดงตัวตน 3)เพิ่มลายน้ำ และปรับ captcha ทำให้ sex bot อ่านข้อความจากภาพได้ยากขึ้น
     สรุปว่าผมเลือกทางเลือกที่ 3 คือเพิ่มลายน้ำให้ถี่ขึ้นในระดับ 10 Pixel และแก้ script ของ captcha_gd.php 2 จุดคือ 1)ขยายภาพ captcha ทำให้ bot มาตรฐานไม่รู้จัก บรรทัดที่ 27 – 28 2)เพิ่มวงกลมไปหลายสิบวงหลอกให้ bot มองเป็นตัวอักษรในภาพ บรรทัด 122 – 124 ก็จะดูว่าพรุ่งนี้จะมี bot ยิงเข้ามาหรือไม่ ถ้ามีก็ต้องทบทวนทางเลือกกันใหม่
+ http://www.thaiall.com/omni/phpbb3_captcha_gd_php.txt