เมื่อวานผมบ่นไว้เรื่อง bandwidth ด้วยสาเหตุเพราะผมย้ายบล็อกมาที่ hosting เมืองไทยได้แค่ 6 วัน แต่ผมกลับเสีย bandwidth ไปแล้วกว่า 520 MB ซึงมันเป็นเรื่องไม่สมเหตุสมผลมาก มันไม่ควรจะเป็นไปได้

ที่นี้โชคดีที่ hosting เขามีสถิติให้ดู (คิดว่าที่ไหนก็คงมี) ปรกติแล้วผมไม่เคยดูสถิติพวกนี้ เพราะตอนที่วางบล็อกไว้ที่ hosting เมืองนอก ที่นั่นเขาให้ harddisk=20GB, bandwidth=300GB/เดือน เรียกว่าอยู่เยี่ยงราชาเชียวแหล่ะ มีกินมีใช้เหลือเฟือ จนแทบจะไม่ต้องชายตาไปมองเลย ว่าเสีย bandwidth ไปเท่าไหร่บ้าง

สถิติ

ก็อย่างที่เห็นครับ ผ่านมาแค่ 6 วัน ผมเสีย bandwidth ให้กับคนเข้าเว๊ปจากสหรัฐอเมริกาถึง 250 MB ในขณะที่เสียให้กับคนเข้าเว๊ปจากเมืองไทยเราแค่ 62 MB เอง เอ้อ เว๊ปผมเว๊ปภาษาไทยนะ จะมาสนใจอะไรนักหนา

ไม่ต้องคิดอะไรมากเลย ไอ้ที่มาจากสหรัฐอเมริกาล้วนเป็น spam bot ทั้งนั้น!!! จะมี GoogleBot, MicrosoftBot, AlexaBot หรือ Bot ที่เป็นประโยชน์จริงอยู่ก็ไม่เท่าไหร่

ตอนแรกผมไม่ถือว่าการ spam เป็นเรื่องเลวร้ายอะไรมากนัก สงสัยจะมองโลกในแง่ดีไป เพราะผมคิดว่าผมก็ยังดูแลบล็อกอยู่ ถ้ามัน spam เข้ามา ผมก็แค่ลบทิ้งก็เท่านั้นเอง

แต่มันไม่ใช่อ่ะดิ เพราะพอมันจดจำได้ว่ามันเคย spam ได้ มันก็ตั้งหน้าตั้งตาเข้ามา spam อยู่เรื่อย ๆ แล้วเวลามันเข้ามา แน่นอนมันก็ต้องมา GET หน้าบล็อกไป ซึ่งตอนที่มัน GET หน้าบล็อกไปนั่นแหล่ะ มันก็เกิดการเข้าออกของข้อมูล ซึ่งหมายถึงการสูญเสีย bandwidth ไปนั่นเอง

ผมก็เลยจำเป็นต้องแก้ปัญหาเบื้องต้น ด้วยการติดตั้ง wordpress plugins ที่มีคุณสมบัติเลียนแบบกลไก CAPTCHA เอาไว้

CAPTCHA ถือได้ว่ามีความเกี่ยวข้องกับ Pattern Recognition เพียงแต่อาจจะต่างกันในแง่ของการตรวจรู้ Pattern ซึ่งถ้าสร้างเป็นแผนภาพเพื่ออธิบายความเข้าใจ และให้เห็นความแตกต่างระหว่าง CAPTCHA กับ Pattern Recognition ก็จะได้เป็นดังภาพข้างล่าง

อันนี้ CAPTCHA

CAPTCHA

อันนี้ Pattern Recognition

การแสดงตนด้วย Pattern Recognition

จะเห็นว่าจุดเหมือนระหว่าง CAPTCHA กับ Pattern Recognition จะอยู่ตรงที่การ Training Cipher นั่นเอง โดยถ้าเป็น CAPTCHA สิ่งที่ Training ออกมาได้คือรูปภาพที่มีตัวอักษรโย้ไปโย้มากวนลูกตา ส่วน Pattern Recognition ก็จะได้ผลจากการ Training ออกมาเป็น Vector Set ซึ่งเป็นเลขจำนวนจริงหลายสิบตัว เพื่อแทนความเฉพาะตัวของ Pattern นั้น ๆ

ส่วนความต่างก็คงจะอยู่ตรงการเปรียบเทียบ Training Cipher เพราะถ้าเป็น CAPTCHA ระบบจะเอา Plain Text กับ Cipher Text มาเทียบกันตรง ๆ เลย ในขณะที่ Pattern Recognition ต้องนำทั้ง Trainning Set กับ Test Set มาประมวลผลก่อน แล้วจึงเทียบเคียงกันได้

ผมมองว่าการที่ CAPTCHA เกิดขึ้นมาได้บนโลกนี้ ก็คงเป็นเพราะจุดอ่อนของ Pattern Recognition นั่นเอง ที่ยังไม่สามารถให้ความแม่นยำในการตรวจรู้ Pattern ได้ถึง 100%

ดูเหมือนว่า CAPTCHA กำลังท้าท้ายความสามารถของ Pattern Recognition และ Pattern Recognition ก็กำลังไล่ล่า CAPTCHA อยู่อย่างกระชั้นชิดครับ

ป.ล. ผมว่าถ้าต่อไปสามารถทำให้ Pattern Recognition ตรวจรู้ได้ถึง 100% ผมคงต้องเปลี่ยนวิธีจัดการกับ spam เป็นรูปแบบอื่นแล้วล่ะ แย่เน้อะ

[tags]spam,spam blog,captcha,pattern recognition,คอมพิวเตอร์,การสร้างซอฟต์แวร์,การตรวจรู้จำ[/tags]

Related Posts

21 thoughts on “CAPTCHA

  1. มิน่าแต่ก่อนบลอกพี่ไท้ไม่ต้องพิมพ์ anti-spam word นี่นา งี้นี่เอง เจอ spam เข้าไปเยอะ

  2. เมื่อวานเข้ามาจะโพสท์ comment ก็อึ้งเหมือนกัน เพราะอยู่ดีๆ กด โพสท์แล้วดันบอกต้องใส่ anti-spam word แต่กล่องยังไม่โผล่ = =”
    ของผมใช้ตัวที่มากับ wordpress อยู่แล้ว แต่ไม่รู้จะกันได้เท่าไหร่นี่สิ ต้องรอดูต่อไปให้เว็บดังก่อนสินะ ^ ^
    (แต่ bandwidth ผมไม่กลัวเท่าไหร่แฮะ ได้ตั้ง 50 GB/เดือน เยอะอยู่ๆ แต่พื้นที่นี่สิ ช่างน้อยนิดนัก T T)

  3. เท่าที่ลองใช้มามากมาย ผมคิดว่า akismet นี่แหละใช้ดีที่สุึด เพราะมันดูด spam comment ไปเก็บไว้ค่อยข้างแม่นยำ ข้อเสียคือมันต้องเขียนเจ้าพวก spam ลงไปใน db ก่อนแล้วต้อนหลังค่อยมากำจัดออกไป ตอนที่กด delete all และบางที อาจต้องเสียเวลามานั่งดูว่ามี comment ปกติเข้าไปอยู่ด้วยไหม (บางทีมาวันนึง 2-300 spam ก็ดูไม่ไหว ก็กด delete all ไป

    เจ้าอื่น อย่างพวก spam karma หรือ hashcash หลังจากที่ลองแล้วก็ไม่พบว่ามันดีกว่า akismet อย่างไร เพราะมันก็ดัก spam เหมือนกัน แถมยังไปสร้าง table เพิ่มไว้ใน db ของ wordpress อีก ต้องมานั่ง drop table กันวุ่นวายเวลาจะเลิกใช้

    ตัวที่แรงสุดคือ bad behavior ตัวนี้มันสามารถบล็อก spam ได้ก่อนที่จะเขียนลง db อีก ซึ่งจะช่วยประหยัด bandwidth ได้มาก เพราะมันจะดีดทุกตัวที่มันคิืดว่าเป็น spam ออกไปโดยดูจาก blacklist ip (ของมัน) ข้อเสียก็คือ บางทีคนธรรมดาก็โดนมันดีดออกไปด้วย เพราะดันไปได้ ip อยู่ในกลุ่มที่มันเก็บไว้ หรือร้ายที่สุดเจ้าของบล็อกก็เข้าบล็อกตัวเองไม่ได้ ต้องหา ip ใหม่หรือใช้วิธีถึกๆ เข้าไป disable มันก่อน

    พวก captcha และพวกให้คนต้องกรอกตัวเลขหรือข้อความก่อน post ก็กันได้ระดับหนึ่งแต่คนส่วนใหญ่ขึ้เกียจพิมพ์ + spam บางตัวมันฉลาด มันยิง parameter เข้า comment ลง db ของ wordpress เลยโดยไม่ผ่านหน้าที่เปิดเจ้าตัวกันนี่ไว้

    ป.ล. anti-spam word หน้าตาเหมือนปุ่มมากๆ พยายามกดไปหลายที นึกว่ามันคือปุ่ม submit -_-“

  4. อ้อ.. ขอแนะนำอีกอย่างนะครับ
    anti-spam word อ่ะ เอามาไว้ข้างบนปุ่ม say it! น่าจะดีกว่านะครับ

    เพราะผมเอง (และคนอื่น?) มักจะเลื่อนหน้าไปสุดแค่ปุ่ม say it!
    (เพราะมันเป็นปุ่ม submit) ซึ่งทำให้ไม่เห็นว่าต้องกรอกอะไรเพิ่มไปอีกอ่ะครับ
    (พลาดไปหลายรอบล่ะ ดีที่แบ็กกลับมาได้)

    (รอบนี้ก็อีกแล้ว เหอๆ)

  5. เอ…

    ทำไม captcha ที่พี่ไท้ใช้มัน แสดงเป็นรูป plain plain จัง ปกติเห็นจะมีลวดลายบานเลย อย่างนี้ spam มันจะตีความได้ง่ายหรือเปล่า???

  6. โดนไปไม่น้อยเลยครับคุณ aoyoyo

    ผมลองดาวน์โหลดมาทดสอบแล้วนะคุณ Tee พบว่า…ตัวเลือกเยอะมาก ๆ ๆ ๆ สงสัยของคุณภาพดีก็ต้องซับซ้อนอ่ะครับ ไว้ต้องอ่านคู่มือให้ละเอียดซะหน่อยแล้ว

    สงสัยผมกำลังเปิดใช้ plugins พอดีอ่ะคุณ nat3 เลยชนกันเป้ง ๆ เลย

    อิจฉาคุณ xinexo อ่ะดิ แบบนี้เรียกว่าดีแล้วเด้อ

    ผมว่า spam ที่เข้ามาที่บล็อกผมยังเป็นตัวโง่ ๆ อยู่อ่ะครับคุณ wät เพราะบล็อกผมยังไม่ดัง ถ้าดังเมื่อไหร่มันคงจะพยายามน่าดูเชียวแหล่ะ

    ถ้าเป็นบล็อกอย่างเดียว bandwidth ก็เหลือเฟือครับคุณหมีน้อย

    มันเป็นของมันแบบนี้อ่ะครับคุณ iPAtS ผมเปล่าทำไร ถ้าเป็น theme อื่น มันก็จะอยู่บนปุ่ม Say It! อ่ะครับผมลองแล้ว แต่พอเป็น theme นี้มันดันมาอยู่ข้างล่างซะนี่ แต่ก็มองในแง่ดีนะ ขนาดคนยังหลอกได้เลย พวก spam bot ยิ่งโดนหลอกใหญ่ เพราะพวกมันก็คงคิดว่า CAPTCHA ต้องอยู่ก่อนปุ่ม submit แหงม ๆ

    มัน plain ก็เพราะว่า plugins ตัวนี้มีการตรวจหาคำสั่ง imagettftext() ด้วยครับคุณ rux ว่ามีหรือเปล่า ซึ่งปรากฎว่ามันหาไม่พบ เมื่อหาไม่พบมันก็เลยจำเป็นต้องเลี่ยงไปใช้คำสั่ง imagechar() แทน ผมเองก็สงสัยเหมือนกัน เพราะลองที่ localhost มันก็ได้ CAPTCHA เป็นตัวอักษรยึกยือโย้ไปโย้มา แต่ไหงพอมาไว้ที่ host มันกลับเป็นแบบนี้ไปได้ แล้วยิ่งงงหนักไปใหญ่ เมื่อเอา plugins ตัวนี้ไปไว้ที่ host ที่เมืองนอก มันก็ไม่มีปัญหาอะไร ผมก็เลยเปิด trouble ticket สอบถามไปที่ผู้ดูแลโฮสต์แล้วครับว่า มีการปิดคำสั่ง imagettftext() ไม่ให้ผมใช้หรือเปล่าเนี่ย?

  7. php เค้าอาจจะไม่ได้ซัพพอร์ทตรงนี้ (Freetype หรืออะไรพวกนี้)
    ไม่ก็ลืมก็อปฟอนท์ไป (แหะๆ)

    ลองใช้ phpinfo() ดูค่าคอนฟิคต่างๆ ดูนะครับ
    แถวๆ GD อ่ะครับ

    ถ้ามันไม่มีประมาณนี้
    FreeType Support enabled
    FreeType Linkage with freetype
    FreeType Version 2.1.10

    ก็แปลว่าใช้ไม่ได้ครับ T T

  8. ตรวจแล้วล่ะคุณ iPAtS ไม่มีจริง ๆ ด้วย T-T แต่ผมก็ยังฝากความหวังลึก ๆ ไว้กับทีมเทคนิคของ hosting อยู่อ่ะ เผื่อว่าเขาจะติดตั้งเพิ่มให้ งั้นเอาใจช่วยทีมเทคนิคดีกว่า สู้ ๆ

  9. คือผมจำได้ว่า ผมใช้ default setting หมดเลยอ่ะครับ XD ขี้เกียจอ่าน+ศึกษาเหมือนกัน โปรแกรมเมอร์ที่ดีเขียนโปรแกรมมาแบบเปิดแล้วใช้ได้เลย default just works แต่ถ้าต้องการปรับแต่งก็ทำได้ครับ

  10. โฮะ ๆ เพิ่งเข้ามาเห็น ว่าวันนี้มี Anti-spam word เพิ่มขึ้นมาด้วยแฮะ
    อยากมีบ้าง แต่ก็อาจจะทำให้คนโพสต์เมนต์น้อยลง อีกอย่าง ไม่ค่อยห่วงเรื่อง Bandwidt h เพราะใช้ของพี่ๆ ก็เลยไม่จำกัดอะ

    ปล. ใช้ของ Akismet เหมือนกันไม่เคยเปลี่ยนไปใช้อย่างอื่นเลยอะ

  11. ขอทดสอบการโพสต์หน่อยนะครับ

    ที่เว็บผมทั้งสองเว็บที่ใช้ของ ReadyPlanet ก็ได้ใช้การป้อนรหัสแบบตัวอักษรโย้ไปเย้มา (ยังไม่คุ้นกับชื่อเรียกทางเทคนิค) ปรากฏว่าที่เว็บภาพยนตร์ประวัติศาสตร์ (www.iseehistory.com) ตอนแรกพิมพ์ทีไรระบบมันบอกรหัสผิดทุกทีจนต้องเลิกใช้ไปพักหนึ่ง พอเริ่มโดน spam ลองกลับมาใช้ก็โพสต์ได้ดี ยังไม่เคยเจอปัญหาอะไรอีก เว็บโหราศาสตร์ยุคไอที (www.rojn-info.com) ส่วนใหญ่โพสต์ได้ด้วยดี แต่มีบางครั้งบางเวลาที่มันหาว่ารหัสผิดหรือโพสต์แล้วหายต๋อมไปเหมือนกัน มีขาประจำรายหนึ่งโพสต์เป็นสิบครั้งกว่าจะได้จนเกิดการประท้วงกันนิดหน่อย แต่โดยรวมถือว่าสอบผ่าน ส่วนที่ Blog (rojn.blogth.com) ยังไม่มีให้ใช้ ผู้ชมทั่วไปจึงยังคอมเมนต์ไม่ได้

  12. ผมก็เพิ่งทำ blog ใหม่เสร็จ โดยใช้ hosting ไทยที่มีชื่อแห่งหนึ่งพอเข้ารู้ว่าผมทำ blog เกี่ยวกับอะไร ก็รีบปฏิเสธก่อนเลยว่า จะคืนเงินให้ ถามไปถามว่า รู้ว่าเหตุผลก็กว่าจะรับ bandwidth สูงๆไม่ได้ จากที่โฆษณาว่า unlimited bandwidth แต่ผมบอกว่าไม่ได้ทำ streaming เขาเลยยอม

    แต่ส่วนหนึ่งที่เลือก host ที่นั่นก็เพราะ unlimited bandwidth นี่แหละ สรุปแล้ว unlimited bandwidth ไม่มีในโลกครับ มีแต่การโฆษณาแบบไม่รับผิดชอบคำพูดเท่าไหร่ จ่ายแพงซะด้วย แต่จ่ายไปแล้ว

    เรื่อง spam comment ที่กิน bandwidth นี่ก็สุดๆ จนผมไม่ค่อยอยากจะ update ที่ poorblogger เลย

    ไม่ได้มาซะนาน เลยขอพูดยาวๆหน่อยครับ อิอิ

  13. ผมก็โดนเอามากเหมือนกัน ไอ้พวกสแปมมันชอบมาด้อมๆมองๆที่บล็อกผมประจำ ถ้าโดนนักๆ ก็ปิดระบบคอมเม็นต์ ให้คอมเม็นต์ได้เฉพาะสมาชิกไปเลย น่าจะเป็นทางออกที่ดีที่สุด

  14. เอ เราควรจะทำยังไงกับผู้ประกอบการโฮสติ้ง ที่อำเราว่า unlimit bandwidth ดีเนี่ยคุณ BigNose มันน่านักเน้อะ หลอกเราได้

    งั้นติดตั้ง CAPTCHA เลยครับคุณเดย์ ไม่ต้องเกรงใจ อิ อิ

  15. ย้ายมาอยู่เมืองไทยก็ดีเหมือนกันครับ เวลา search ใน google ไทยแลนด์ ที่เลือก search แต่เมืองไทย จะได้ search เจอblogพี่ไท้ด้วยครับ

  16. ผมก็โดนมาเหมือนกันครับ เพิ่งเปิด blog ได้ไม่นาน มันก็วิ่งเขามาละ เก่งจริงๆ ตอนนี้เลยใส่ CAPTCHA ซะเลย หายเงียบ

  17. ใช้ akismet เหมือนกันอะคะ แต่ว่าเวบยังไม่ดัง และใช้ host ของรุ่นพีอะคะ เลยยังไม่ค่อยมีปัญหา
    (แต่ว่าชอบที่รหัสป้องกันของพี่ดูอ่านง่ายๆ และเป็นคำศัพท์นะคะ บางเวบยังไม่ค่อยแน่ใจเลยว่าเราเป็นมนุษย์รึเปล่า เพราะว่าอ่านไม่ค่อยออกอะ)

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *