ป้องกันโดน Spam เว็บบอร์ด และ Form Mail


หน้าแรก PHP MySQL เกร็ดความรู้ ป้องกันโดน Spam เว็บบอร์ด และ Form Mail
หลายๆท่านที่ใช้งานเว็บบอร์ดมักจะประสบปัญหาโดนโพสต์ข้อความโฆษณาลงในบอร์ดเรื่อยๆ

การป้องกัน spam อย่างง่ายคือ

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

ให้บุคคลทั่วไปโพสต์ได้ แต่ต้องมีการตรวจสอบความเป็นมนุษย์ หรือที่เรียกกันว่า Captcha คือให้กรอกตัวอักษรตามภาพที่เห็นนั่นเอง
การนำ Captcha มาใช้งานนั้นไม่ยากอย่างที่คิดครับ ทำตามนี้ได้เลย

Download Captcha ZDR มาแตกไฟล์ออก แล้วทำการ Upload ไปวางไว้บน Webserver
แก้ไขแบบฟอร์มให้แสดงภาพ Captcha พร้อมทั้งเพิ่ม input รับค่าเพื่อนำไปตรวจสอบ

<img src="./captcha/captcha_img.php">
<input type="text" name="capt">

แก้ไขไฟล์ที่รับค่าให้มีการตรวจสอบ code ก่อนทำงานต่อไปตามปกติ หาก code ไม่ถูกต้องก็ให้ error โดยไม่ทำงานต่อ โดยเพิ่ม code นี้ที่ต้นไฟล์

<?php
session_start();
if($_SESSION['captcha']!=$_POST['capt'] || $_SESSION['captcha']=='BADCODE') { 
   exit("You input code is wrong");
}
?>
 

อีกจุดหนึ่งที่โดน spam กันมากนอกจากเว็บบอร์ดแล้วก็ยังมี แบบฟอร์มติดต่อเรา แบบฟอร์มแจ้งเว็บนี้ให้เพื่อนทราบ หรือแบบฟอร์มอื่นๆที่มีให้กรอก email และข้อความ แบบฟอร์มพวกนี้ควรได้รับการติดตั้ง captcha เพิ่มเติมทั้งสิ้น เพราะแบบฟอร์มหน้าเว็บของท่านมักจะกลายเป็นเครื่องมือส่ง spam mail ได้โดยง่ายโดยที่ท่านไม่รู้ตัว และปัญหาที่ตามมาคือ ชื่อโดเมนของท่าน และ ip ของ server อาจติด blacklist ได้ในไม่ช้าหากไม่มีการป้องกัน


ขึ้นไปด้านบน