Viết bài trên i-php.net, PHP addslashes có đủ tốt để chống SQL Injection?


http://i-php.net/2011/02/php-addslashes-co-du-tot-de-chong-sql-injection/

Là bài viết trên i-php.net. Một bài viết rất đơn giản dành cho những ai mới tham gia vào cộng đồng PHP.

Khi dạo qua các diễn đàn PHP, tôi thấy mọi người thường luận bàn về vấn đề này. Thực sự thì nó rất đơn giản.

1. PHP addslashes đủ tốt để chống SQL Injection  với các database sử dụng ‘ hoặc ” để bao giá trị.

2. Nhưng addslashes chưa đủ tốt cho một cơ sở dữ liệu nào đó yêu cầu nhiều hơn việc thêm \ cho dấu ‘ và “. Ví dụ như đối với MySQL và đặc biệt khi xử lý các truy vấn với dữ liệu kiểu binary bắt buộc phải thêm \ cho \x00\n\r\ and \x1a. Lúc này phải sử dụng hàm mysql_real_escapse_string.

Nên với MySQL, phải sử dụng mysql_real_escape_string trước khi gọi truy vấn thay vì sử dụngaddslashes. Và với các database khác cũng vậy, phải tìm hiểu giải pháp có sẵn trong PHP trước khi dùng addslashes hoặc sáng tạo ra một hàm mới với mục đích tương tự (theo kiểustr_replace(“‘”, “'”, $a) ). Hãy giả sử  database của bạn không dùng ‘ ” để bao các dữ liệu thì sao😀, lúc đó mà dùng addslashes là tắt điện ngay.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s