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/

ใครที่นำบทความไปเผยแพร่ที่เว็บไซต์อื่น กรุณาทำลิ้งค์กลับมายังบทความต้นฉบับด้วยนะครับ