SQL · INJECTION Trung cấp CA 01 / 08

Học sinh nhập tên là x' OR '1'='1

Hệ thống tra cứu điểm thi học sinh:

name := r.FormValue("name")
// CÁCH NGUY HIỂM (chỉ minh hoạ, KHÔNG dùng):
// query := "SELECT score FROM results WHERE student_name = '" + name + "'"

// CÁCH DÙNG THẬT:
row := db.QueryRow("SELECT score FROM results WHERE student_name = ?", name)

Nếu học sinh nhập tên là x' OR '1'='1, cách dùng ? placeholder xử lý thế nào so với nối chuỗi trực tiếp?