ว่าง : เขียนบทความสั้นๆหน่อย 5555
วิธีป้องกัน Sql Injection แบบคร่าวๆ ไม่ให้โดย Hack สำหรับคนเพิ่งเริ่มเขียน PHP ในปัจจุบันจะใช้กันอยู่สองแบบก็คือ
1.Prepared Statements
2.Escaping User Input
แบบที่ 1 เวลาเรารับค่าจาก User input กรณีมีการฉีดคำสั่ง SQL เข้ามาโจมตี จะโจมตีไม่ได้ เพราะว่า ตัวฟังชั่น prepared statement มันจะมองว่าค่าที่รับเข้ามาเป็น String ทั้งหมด และไม่สามารถนำไปประมวลผลในรูปแบบของคำสั่ง SQL ได้
แบบที่ 2 Escaping User Input
ฟังชั่นนี้จะกรองค่าจาก User input ที่เป็นอันตรายต่อการนำไปประมวลผลเช่น เครื่องหมาย ' "" แต่ด้วยการพัฒนาของระบบฐานข้อมูล ที่เปลี่ยนไปตามกาลเวลา การกรองค่าอาจจะไม่ดีเท่าที่ควร
# สรุปท่าจะให้ดีเลยใช้ Library ที่เขานิยมใช้นำมาป้องกันก็ได้ หรือถ้าใครเพิ่งเริ่ม เวลารับค่าจาก User ควรทำ Escaping User Input โดยใช้ฟังชั่น mysqli_real_escape_string และก่อนนำไป execute ควรทำ Prepared Statements ก่อน เนื้อหาเพิ่มเติม Google ได้เลยมีเยอะ ^^
ไม่มีความคิดเห็น:
แสดงความคิดเห็น