pico hosting ผู้ให้บริการ Web hosting จดโดเมนราคาประหยัด
บทความ: ป้องกัน Spam เว็บด้วย Anti-spam Image Generator
สำหรับ webmaster ที่เคยเจอกับปัญหา ทำ webboard หรือ contact form แล้วเจอ Spam มาโพสต์ข้อความที่ไม่เหมาะสม หรือส่งข้อความผ่าน contact form วันนี้ผมมี Anti-spam Image Generator หรือ CAPTCHA ที่เขียนด้วย PHP มาแนะนำครับ ที่เลือกใช้ Anti-spam Image Generator ก็เพราะว่าใช้งานง่าย ไม่ยุ่งยาก webmaster มือใหม่ก็นำไปประยุกต์ใช้งานกับเว็บตัวเองได้วิธีการใช้งาน ให้นำไฟล์ antispam.php และ arial.ttf (หรือ font อื่น) ไปไว้ใน directory ที่ต้องการใช้งาน แล้วตั้งค่าต่างๆในไฟล์ antispam.php ก่อนดังนี้
- - $font = 'arial.ttf'; เป็นการตั้งค่า font ที่จะใช้งาน ในตัวอย่างจะใช้ arial
- - $charset = '0123456789'; เป็นการตั้งค่าว่าจะใช้ตัวอักษรอะไรเป็นรหัสป้องกัน Spam ตัวอย่างจะใช้เฉพาะตัวเลข
- - $code_length = 6; คือความยาวของของรหัสป้องกัน Spam
- - $height = 20; คือความสูงของรูปภาพ
- - $width = 80; คือความกว้างของรูปภาพ
หลังจากนั้นให้เพิ่มโค้ดต่อไปนี้ไปในหน้าสำหรับ โพสต์ข้อความ หรือ หน้าสำหรับ contact form
ใสรหัสป้องกัน Spam <input name="antispamcode" type="text" size="6" maxlength="10" /> <img src="./antispam.php" /> <input name="" type="submit" value="Check" />
ตัวอย่าง
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Antispam</title> </head> <body> <center> <form action="./check.php" method="post" enctype="multipart/form-data"> ใสรหัสป้องกัน Spam <input name="antispamcode" type="text" size="6" maxlength="10" /> <img src="./antispam.php" /> <input name="" type="submit" value="Check" /> </form> </center> </body> </html>
ตัวอย่างผลลัพธ์
ใสรหัสป้องกัน Spam ![]()
ต่อไปก็ทำไฟล์สำหรับตรวจสอบความถูกต้องของรหัสป้องกัน Spam
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Antispam</title> </head> <?PHP @session_start(); // start session if not started yet if ($_SESSION['AntiSpamImage'] != $_REQUEST['antispamcode']) { echo '<center>รหัสป้องกัน Spam ไม่ถูกต้อง <a href="./">กลับไปแก้ไขข้อมูล</a></center>'; } else { echo '<center>รหัสป้องกัน Spam ถูกต้องแล้วครับ :)</center>'; $_SESSION['AntiSpamImage'] = rand(1,9999999); } ?> <body> </body> </html>
ตรงบรรทัด if ($_SESSION['AntiSpamImage'] != $_REQUEST['antispamcode']) เป็นการตรวจสอบความถูกต้องของรหัสป้องกัน Spam ที่ผู้ใช้งานป้อนเข้ามา ถ้ารหัสไม่ถูกต้องก็ให้ทำตามคำสั่งที่เราต้องการ ดังตัวอย่างด้านบน
ดาวน์โหลดตัวอย่างการใช้งาน Anti-spam Image Generator
เว็บไซต์อ้างอิง http://www.zubrag.com/scripts/
Quick Help.


