ถ้าคนเขียนเว็บปกติอ่านจบผมคิดว่าเขาก็มองเห็นแนวทางการป้องกันแล้วนะครับ เบื้องต้นก็ Filter input ที่รับเข้ามาก่อนที่จะส่งไป คิวลี่ กับ DBMS เช่น ^, =, !=, %, /, *, &, &&, |, ||, , >>, <=, <=, ,, XOR, DIV, LIKE, SOUNDS LIKE, RLIKE, REGEXP, LEAST, GREATEST, CAST, CONVERT, IS, IN, NOT, MATCH, AND, OR, BINARY, BETWEEN, ISNULL แต่จริงแล้วมันไม่ง่ายขนาดนั้นมันยังมีเทคนิคกการ Bypass Filter อีกซึ่งเป็นเรื่องที่ต้องว่ากันยาวแต่ผมแนบ link หนังสือให้ไปศึกษาต่อแล้วครับ และผมจะเขียนบทความใน Web hacking series นี้ในเรื่อง SQL Injection อีกทีครับ ในหัวข้อนี้ยังเป้นแค่ Fundamentals of Web Hacking
มีแต่คนบอก แฮกผ่าน SQL Injection ตลอด ไม่เคยบอกวิธีป้องกัน
ไม่แน่ใจว่ามาเตือน หรือมาเล่าถึงความน่ากลัวเฉยๆกันแน่
$username = mysql_real_escape_string($_REQUEST["username"]);
$password = mysql_real_escape_string($_REQUEST["password"]);
$lQueryString = "SELECT * FROM accounts WHERE username='".$username."' AND password='".$password."'";