Code:
select * from Khachhang where TenDN='{$TenDN}' and MatKhau
='{$MatKhau}'
Ứng với câu lệnh thế này, thì bạn cần hiểu là:
$TenDN = ' or '1'='1
$MatKhau = ' or '1'='1
Thì câu lệnh sẽ trở thành:
Code:
select * from Khachhang where TenDN='' or '1'='1' and MatKhau
='' or '1'='1'
Hiển nhiên khi bạn chạy câu lệnh này nó sẽ là câu lệnh đúng, do vậy đó là cách bạn đăng nhập không cần password.
Khắc phục:
Bằng cách chèn dấu slash bằng hàm addslashes() để vô hiệu hóa dấu ' mà User nhập vào là OK.