Cách chắc chắn nhất để chặn SQL injection là gì?
- A.Escape dấu nháy đơn trước khi ghép vào câu lệnh
- B.Chỉ cho phép ký tự chữ và số trong mọi trường nhập của form
- C.Prepared statement có tham số, không ghép chuỗi
- D.Lọc bỏ các từ khoá SQL nguy hiểm trong đầu vào
Đáp án: C
Prepared statement / tham số hoá: WHERE email = $1 rồi truyền giá trị riêng. DB coi tham số là dữ liệu thuần, không bao giờ phân tích nó thành câu lệnh — nên không có cách nào chèn SQL vào.
Nguồn tham khảo