Bao Mat Web - Dịch vụ bảo mật web, Nâng cấp web, Tối ưu website

Trang chủ Lỗi bảo mật Bảo mật với PHP & Mysql Phần 2

Bảo mật với PHP & Mysql Phần 2


Như ta thường biết , để đưa bất cứ dữ liệu từ người sử dụng vào CSDL ta đều thông qua dạng truyền biến form HTML , gồm nhiều dạng và nhiều cách khác nhau .

Vì thế lỗi cũng rất nhiều nếu ta không kịp ngăn chặn , có thể dẫn đến những hậu quả khó lường.
Dù truyền biến dạng POST , GET thì lỗi vẫn có . Và lỗi nghiêm trọng là dùng các biến ẩn để so sánh hoặc thực thi một mệnh đề logic nào đó .

Ví dụ bạn làm 1 biến ẩn như password , email ... thì kẻ tấn công có thể view source của bạn , thay đổi các trường và thay đổi luôn action . Vì thế nếu lỗi thì kẻ tấn công có thể tấn công trực tiếp từ những lỗi này với vài thủ thuật nêu trên .

Cách khắc phục : Không đặt những biến ẩn với mục đích so sánh hay thực thi mệnh đề logic .
Nếu bạn lập trình đưa trực tiếp các biến vào thẳng CSDL mà không thông qua một bước kiểm tra nào đó thì nguy hiểm .

Các nguy hiểm có thể xảy ra :
- Cross site scripting
- SQL injection
- Buffer overflow in Mysql

Vì vậy bước kiểm tra các biến vào hết sức quan trọng .

Cách khắc phục :

- Cross site scripting : Để khắc phục lỗi này , bạn nên xử lý biến vào theo kiểu chặn các tag HTML các hàm PHP hổ trợ làm việc đó : str_replace , strip_tags , htmlspecialchars , htmlentities ... ( tham khảo thêm về các hàm sử lý chuỗi ) để xử lý các tag như < > chuyển sang mã HTML hay thêm ký tự nào vào , .... , thay thế các text như onmouseover , onload ...
- SQL injection : các biến đưa vào thường nguy hiểm nếu ``dính`` dấu ` , ```` hoặc # , vì thế cách khắc phục cũng như trên hoặc thêm hàm addslashes .
- Buffer overflow in Mysql : cái này thường nghiêm trọng , khi bạn đưa biến vào CSDL mà không chống flood thì kẻ tấn công cò thể fresh trình duyệt web hoặc dùng những script tấn côngf từ server , host hay localhost khác , làm tràn server . Khiến tắt nghẽn ... và server có thể cắt host bạn như chơi .

Cách khắc phục , so sánh biến nhập vào trùng hay thơi gian ... nói chung có nhiều cách để làm việc này , hiệu quả và nhanh thì dùng hàm header sau khi submit . ( Nếu bạn lập trình dùng hàm mysql_fetch_array , cũng dễ bị tràn server , lý do gôm dữ liệu vào mảng nếu nhiều record thì thế nào ... vì thế bạn có thể chuyển qua dùng mysql_result , nó lấy dữ liệu theo filed và column )

Lưu ý về dạng upload file : cái này cũng quan trọng không kém , vì thế bạn phải kiểm tra dạng file gì khi được upload vì không sẽ có thể làm host của bạn dính backdoor .

 

Tiêu điểm

Bảo mật với PHP & Mysql Phần 1 Bảo mật với PHP & Mysql Phần 1 - Mysql cho phép truy xuất vào cơ sỡ dữ liệu với host chung : localhost
Bảo mật Passwords đã lưu trên Internet Explorer Bảo mật Passwords đã lưu trên Internet Explorer Một trong những điều tiện lợi nhất mà công cụ trình duyệt mang lại đó là
SQL Injection: Đó là gì? SQL Injection: Đó là gì? SQL Injection là một trong những cơ chế tấn công nhiều trang web được sử dụng
Thể nào là bảo mật các ứng dụng website Thể nào là bảo mật các ứng dụng website Bảo mật ứng dụng website là một phần của Bảo mật Thông tin và cụ thể hơn
Cross site Scripting là gì? Cross site Scripting là gì? Tin tặc đang liên tục thử nghiệm với một tiết mục rộng các kỹ thuật
Cách kiểm tra các kết nối không bảo mật Cách kiểm tra các kết nối không bảo mật Là một chuyên gia IT hay thậm chí chỉ là người đam mê sử dụng máy tính, mật

Thống kê truy cập

Hiện có 21 khách Trực tuyến

Copyright © 2011 Bao Mat Web - Dịch vụ bảo mật web, Nâng cấp web, Tối ưu website
Website đang được xây dựng. Chúng tôi chưa cung cấp thông tin, dịch vụ hoặc sản phẩm trên website này. Mong quý vị thông cảm!
Phát triển bởi: Thiet ke website