2015-07-08 17 views
5

Tôi hiện đang tìm hiểu cách hoạt động của SQL-Tiêm. Trên nhiều trang web giảng dạy có các ví dụ được hiển thị, chẳng hạn nhưDấu gạch ngang kép/Dấu gạch ngang trong SQL-Injection. Chúng nó được dùng cho cái gì?

SELECT fieldlist 
FROM table 
WHERE field = 'x' AND email IS NULL; --'; 

Trong trường 'nội dung' sẽ được kiểm tra đến từ một trường văn bản hoặc nội dung nào đó tương tự từ trang web. Người dùng nhập vào trong trường hợp này là x' AND email IS NULL; -- Việc sử dụng -- là gì ??

Tôi đã thấy một vài ví dụ tương tự nhưng không có lời giải thích. Tôi có thiếu cái gì cơ bản?

Trả lời

3

Ohh nevermind. -- được sử dụng để nhận xét phần còn lại của truy vấn ...

+0

Cụ thể là nhận xét '' '(và phần còn lại) được tìm thấy trong văn bản lệnh SQL gốc; sao cho truy vấn vẫn hợp lệ - mặc dù điều này không được yêu cầu nghiêm ngặt. Ví dụ. 'WHERE field = 'x' VÀ email IS NULL hoặc '' = '';' cũng sẽ hợp lệ – user2864740

+0

Có thực sự quan trọng nếu tôi nhận xét ra các truy vấn còn lại? Vì cả hai biến thể đều hợp lệ, một biến thể có nhận xét có vẻ sạch hơn. –

Các vấn đề liên quan