ทั้งๆที่ Blog เพิ่งทำใหม่ได้ไม่กี่วัน ก็เจอ spam comment เยอะมาก เมื่อก่อนตอนใช้ WordPress นั้นผมใช้ Akismet กรอง Spam ออก แต่พอมาใช้ Rails ไม่ได้กรอง เลยมี Spam เพียบ
จะติดตั้งพวก Captcha ก็เกรงใจคน comment ก็เลยคิดว่าน่าจะมีคนทำ plugin Akismet ไว้บน Rails แล้ว เลยไปลองหาดู ก็พบว่ามี และใช้ได้ดีครับ
http://github.com/jfrench/rakismet/tree/master
ตาม link นี้ไปจะพบวิธีใช้อยู่ครับ
ผมเอามาปรับใช้กับ Comment ของผม เจอปัญหานิดหน่อยตรงที่ Model ของ Comment ของผมมีสิ่งที่ Akismet ต้องการไม่ครบ หรือที่มีบางอันชื่อไม่ตรง เช่น akismet ต้องการ author แต่ของผมใช้ commentator ซึ่งวิธีการปรับแก้นั้นมีใน link ข้างบนด้วยครับ และถ้ามีเวลา เดี๋ยวผมจะแสดงวิธีทำให้ดูนะครับ
ผลการทดลอง
ได้ผลดีมากเลยครับ ผมให้ Rails บันทึก Comment ที่เป็น Spam ไว้ด้วย แต่ไปแก้ใน view ไม่ให้โชว์ถ้าไม่ใช่ Admin แล้วก็สร้างหน้าที่เอาไว้ดู comment ทั้งหมด ผลที่ได้คือวันเดียวจับ Spam ได้ 30 ตัวในวันนี้วันเดียว สุดยอด!!

Tags: RoR | Rails | Akismet | Spam | Programming |

