09/10/2018, 22:34
xin huong dan ve cach viet file kiemtra bang asp
mình có thử viết file kiem tra quyền d8ang nhập user trong asp ,nhưng bị cái lỗi là:
trang loginasp sẽ action đến file kiemtra.asp kiem tra user &pass có trong CSDl thi cho dang nhap vao trang TTT.asp con nếu sai thì quay lai trang login.asp.nhung lỗi xãy ra là ,nếu mở trình duyệt lên gõ TTT.asp thi vô thẳng luôn
xin anh em chỉ cách khắc phục minh cám on nhiều lắm.
trang loginasp sẽ action đến file kiemtra.asp kiem tra user &pass có trong CSDl thi cho dang nhap vao trang TTT.asp con nếu sai thì quay lai trang login.asp.nhung lỗi xãy ra là ,nếu mở trình duyệt lên gõ TTT.asp thi vô thẳng luôn
xin anh em chỉ cách khắc phục minh cám on nhiều lắm.
Bài liên quan
Trong trang kiểm tra: sau khi select trong database xem có username & pass không, nếu có thì có nghĩa là ok & bạn tạo 1 session: Session("logined")="OK" chẳng hạn. Xong redirect qua trang TTT.asp.
Trong trang TTT.asp ở đầu trang bạn sẽ kiểm tra xem user có login chưa, nếu chưa thì bay trở ra, bắt user phải login:
if Session("logined")<>"OK" then
Response.Redirect "login.asp"
end if
Thế là xong!
Đây là trường hợp đơn giản nha. Khi làm thực tế bạn cần kiểm tra thêm SQL Injection đó.
Tại sao khi nhập (' or 1=1--) vào user, pass thì vào được?? Giải thích rõ ràng tí hen. Thanks trước
Ví dụ:
Bạn có 1 table tbl_user {username, password} dùng quản lý user đăng nhập.
Để đăng nhập hệ thống user cần nhập username & password và để check bạn sẽ có câu SQL dạng như sau:
sql = "select * from tbl_user where username='" & Request("username") & "' and password='" & Request("password") & "'"
Bình thường user sẽ nhập vào username & password, đúng thì sẽ được đăng nhập hệ thống. Tuy nhiên nếu user nhập vào:
username/password=" ' or ' '=' " (không có cặp ngoặc kép)
Khi đó chuỗi SQL sẽ như sau:
sql = "select * from tbl_user where username=' ' or ' '=' ' and password=' ' or ' '=' '"
Khi đó thì hiển nhiên khi thực thi chuỗi SQL trên thì điều kiện luôn luôn đúng và user có thể truy cập bất hợp pháp tài nguyên hệ thống.
Còn có nhiều hình thức SQL Injection khác nguy hiểm hơn nhiều. Bạn có thể vào Google search & tham khảo thêm nha.
Nghĩ ra được mấy chiêu này thiệt tuyệt vời lun
vậy phải làm sao đây