canmotnguoihieu
Member
Lỗi đây: [/COLOR][/B]
Kết quả là:Code:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/u992271560/public_html/blog/xem.php on line 9
*Hướng dẫn check site bạn đang dùng:
Ví dụ:
- Check link bài viết :http://chimse.org/blog/blog-em-gai-elly-tran-nhin-xinh-va-ngon-hon-ca-co-chi.html
Không lỗi khi thêm dấu ' vào thì http://chimse.org/blog/blog-em-gai-elly-tran-nhin-xinh-va-ngon-hon-ca-co-chi'.html sẽ xảy ra lỗi
- Check link chủ đề: http://chimse.org/blog/m-gai-xinh-show.html
Thành http://chimse.org/blog?url=gai-xinh-show'
=> Xuất hiệt lỗi
* Cách phòng tránh:
Để phòng tránh các nguy cơ có thể xảy ra, hãy bảo vệ các câu truy vấn SQL là bằng cách kiểm soát chặt chẽ tất cả các dữ liệu nhập nhận được từ đối tượng Request (Request, Request.QueryString, Request.Form, Request.Cookies, and Request.ServerVariables).
- Trong trường hợp dữ liệu nhập vào là chuỗi, như trong ví dụ 1, lỗi xuất phát từ việc có dấu nháy đơn trong dữ liệu. Để tránh điều này, thay thế các dấu nháy đơn bằng hàm Replace để thay thế bằng 2 dấu nháy đơn:
p_strUsername = Replace(Request.Form("txtUsername"), "'", "''")
p_strPassword = Replace(Request.Form("txtPassword"), "'", "''")
- Trong trường hợp dữ liệu nhập vào là số, như trong ví dụ 2, lỗi xuất phát từ việc thay thế một giá trị được tiên đoán là dữ liệu số bằng chuỗi chứa câu lệnh SQL bất hợp pháp. Để tránh điều này, đơn giản hãy kiểm tra dữ liệu có đúng kiểu hay không: p_lngID = CLng(Request("ID")) Như vậy, nếu người dùng truyền vào một chuỗi, hàm này sẽ trả về lỗi ngay lập tức. Ngoài ra để tránh các nguy cơ từ SQL Injection attack, nên chú ý loại bỏ bất kì thông tin kĩ thuật nào chứa trong thông điệp chuyển xuống cho người dùng khi ứng dụng có lỗi. Các thông báo lỗi thông thường tiết lộ các chi tiết kĩ thuật có thể cho phép kẻ tấn công biết được điểm yếu của hệ thống. Cuối cùng, để giới hạn mức độ của SQL Injection attack, nên kiểm soát chặt chẽ và giới hạn quyền xử lí dữ liệu đến tài khoản người dùng mà ứng dụng web đang sử dụng. Các ứng dụng thông thường nên tránh dùng đến các quyền như dbo hay sa. Quyền càng bị hạn chế, thiệt hại càng ít.
Bạn sẽ cần phải tìm hiểu thêm rất nhiều vì đó chỉ là những gì cơ bản nhất thôi.
* Lưu Ý: cách phòng chống trên do mình coppy trên mạng và nó chỉ là cách cơ bản đề bảo vệ data của bạn, nhưng nên nhớ hacker k đơn thuần chỉ khai thác lỗi từ cách của một đứa gà như mình.
Bài viết mang tính chất tham khảo, ai tin được thì tin không tin thì cứ coi như top chém gió, không gạch đá ở đây
nguồn:google