2012-02-06 40 views
7

Tôi đang tìm cách làm cho trang web của mình an toàn trước các cuộc tấn công SQL injection. Có ai có bất kỳ liên kết tốt để làm cho trang web an toàn chống lại các loại tấn công trong một trang web ASP.NET (C#, mẫu web)?Ngăn chặn tấn công SQL Injection: nơi nào tôi bắt đầu

EDIT:

Tôi phải chỉ ra tại tôi đang sử dụng Entity Framework

Trả lời

2

Đây là một loạt tuyệt vời mà bao gồm 10 mối đe dọa an ninh hàng đầu cho các ứng dụng web và làm thế nào để giảm thiểu chúng bằng ASP.net: http://www.troyhunt.com/2010/05/owasp-top-10-for-net-developers-part-1.html

+1

Tôi có xu hướng liên kết đến sách điện tử được tạo từ những sách này. Nhưng chỉ một trong những lỗ hổng là SQL Injection mà OP đã hỏi. – Oded

+0

Điểm tốt - Đã thêm -> http://www.troyhunt.com/2011/12/free-ebook-owasp-top-10-for-net.html –

4

Xem các nguồn lực:

Về cơ bản, như Oded đã chỉ ra, nó nắm để ngăn chặn concatenating cùng câu lệnh SQL của bạn - đặc biệt là nếu có liên quan đến dữ liệu nhập vào bởi người sử dụng của thành textbox - và sử dụng truy vấn parametrized trong ADO.NET.

0

Sử dụng thủ tục lưu trữ với các thông số và tránh SQL inline bất cứ khi nào có thể ...

1

Thật dễ dàng. Hầu hết các vulns tiêm đến từ mã trông như thế này:

var myQuery="SELECT something FROM somewhere WHERE somefield="+userSuppliedData; 
//execute myQuery against db 
//now suppose userSuppliedData=="'';DROP TABLE somewhere;" 

Nếu bạn đang viết tay các câu lệnh sql như thế này, bạn đang gặp rủi ro. Cân nhắc sử dụng truy vấn ORM hoặc truy vấn được tham số hóa.

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