1. Cookie:
- ตั้งค่า cookie เมื่อผู้ใช้ submit form สำเร็จ
- ตรวจสอบ cookie ก่อน submit form ว่าผู้ใช้ submit ไปแล้วหรือยัง
- ถ้าผู้ใช้ submit ไปแล้ว แสดงข้อความแจ้งเตือน หรือ ปิดกั้นการ submit form
2. Session:
- เก็บข้อมูลการ submit form ของผู้ใช้ใน session
- ตรวจสอบ session ก่อน submit form ว่าผู้ใช้ submit ไปแล้วหรือยัง
- ถ้าผู้ใช้ submit ไปแล้ว แสดงข้อความแจ้งเตือน หรือ ปิดกั้นการ submit form
3. Javascript:
- เพิ่ม event listener บนปุ่ม submit form
- ตรวจสอบว่าผู้ใช้ submit form มากกว่าจำนวนที่กำหนดหรือไม่
- ถ้าผู้ใช้ submit form มากกว่าจำนวนที่กำหนด แสดงข้อความแจ้งเตือน หรือ ปิดกั้นการ submit form
ตัวอย่างการใช้ Javascript:
JavaScript
const MAX_SUBMIT_COUNT = 3;
let submitCount = 0;
const submitForm = () => {
if (submitCount >= MAX_SUBMIT_COUNT) {
alert("คุณส่งฟอร์มมากเกินไป กรุณาลองใหม่อีกครั้ง");
return;
}
submitCount++;
// Submit the form
};
const submitButton = document.getElementById("submitButton");
submitButton.addEventListener("click", submitForm);
Use code with caution. Learn morecontent_copy
ข้อควรระวัง:
- วิธีการเหล่านี้สามารถป้องกันการ submit form จำนวนมากจากผู้ใช้ทั่วไป แต่ไม่สามารถป้องกันการโจมตีแบบ brute force ได้
- วิธีการเหล่านี้อาจไม่สะดวกสำหรับผู้ใช้
วิธีการอื่นๆ:
- ใช้ reCAPTCHA
- ใช้ CAPTCHA
- ใช้ honeypot
สรุป:
เราสามารถป้องกันการ submit form จำนวนมาก โดยใช้ cookie / session / javascript ช่วยได้ แต่ควรเลือกใช้วิธีการที่เหมาะสมกับการใช้งาน