PDA

View Full Version : Trang login với tất cả các ngôn ngữ! So hot



ngocquy_ytc
13-08-2009, 14:35
em có 1 trang login với 2 cái textbox User và Pass, 1 nút Submit
em viết 1 đoạn code kiểm tra login có cái câu lệnh SQL như sau :

strSQL="select * from CheckLogin where username='"+user+"' and password='"+pass+"'" ;

Với user và pass là dữ liệu ng` dùng nhập vào. Việc kiểm tra xem như bình thường ko có vấn đề gì xảy ra. Đến khi thầy của em gõ vào cùng 1 chuỗi kí tự vào 2 textbox thì nó vẫn log vào đc mặc dù chuỗi ký tự đó ko trùng với CSDL.

Anh nào biết chuỗi kí tự đó ko share cho em thử lại với. Lâu rùi nên em quên mất

huytranaz
13-08-2009, 16:42
em có 1 trang login với 2 cái textbox User và Pass, 1 nút Submit
em viết 1 đoạn code kiểm tra login có cái câu lệnh SQL như sau :

strSQL="select * from CheckLogin where username='"+user+"' and password='"+pass+"'" ;

Với user và pass là dữ liệu ng` dùng nhập vào. Việc kiểm tra xem như bình thường ko có vấn đề gì xảy ra. Đến khi thầy của em gõ vào cùng 1 chuỗi kí tự vào 2 textbox thì nó vẫn log vào đc mặc dù chuỗi ký tự đó ko trùng với CSDL.

Anh nào biết chuỗi kí tự đó ko share cho em thử lại với. Lâu rùi nên em quên mất
Nếu bạn dùng câu lệnh này để kiểm tra đăng nhập thì thua rồi, lỗi ở đây là SQL Injection, lỗi nghiêm trọng nhất của việc bảo mật trong lập trình ứng dụng. Với trường hợp của bạn thì khi nhập ở ô password giá trị: ' or ''=' thì sẽ đăng nhập vào được. Để fix lỗi này bạn có thể dùng các hàm replace để check dữ liệu đầu vào.

Thân,