SQL Injection WordPress an toàn hơn với Functions

Đây là bài số 8 trong 16 bài tại series Bảo Mật WordPress

SQL Injection là một một kỹ thuật để kẻ phá hoại lợi dụng những lỗ hổng về câu truy vấn lấy dữ liệu của những website không an toàn. Đây là một kỹ thuật tấn công rất phổ biến và sự thành công của nó cũng tương đối cao.

SQL Injection WordPress an toàn hơn với Functions
SQL Injection WordPress an toàn hơn với Functions

Trong bài viết trước Lại Văn Đức Blog đã giới thiệu tới các bạn 9 thủ thuật bảo mật WordPress cơ bản. Và trong bài viết này chúng ta sẽ cùng đi thêm một bước nữa để Blog/Website của các bạn luôn trong trạng thái an toàn.

SQL Injection WordPress an toàn hơn với Functions

SQL injection có thể cho phép những kẻ tấn công thực hiện các thao tác, delete, insert, update,… trên cơ sở dữ liệu của website, thậm chí là server mà website đó đang chạy, lỗi này thường xảy ra trên các ứng dụng web có dữ liệu được quản lý bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, DB2, Sysbase… Và hiển nhiên là WordPress nằm trong danh sách đó.

Có lẽ các bạn đã biết mô hình hoạt động của website rồi phải không? Bởi khi một request được gửi từ người dùng thì ngôn ngữ SERVER như PHP sẽ lấy các thông tin từ người dùng đó. Nhưng bản thân nó không hề phát hiện ra những thông tin đó có chứa những câu SQL độc.

Bảo mật WordPress khỏi SQL Injection bằng Functions

Ngay bên dưới, mình sẽ giới thiệu tới các bạn một đoạn code. Với đoạn code này các câu lệnh sql từ bên ngoài vào các url đều được mã hóa hoặc đóng kết nối giúp website của bạn an toàn hơn.

Để thực hiện các bạn tìm tới file Functions.php của Theme đang sử dụng và thêm đoạn code này vào đầu hoặc cuối file đều được.

global $user_ID; if($user_ID) {
  if(!current_user_can('administrator')) {
     if (strlen($_SERVER['REQUEST_URI']) > 255 ||
        stripos($_SERVER['REQUEST_URI'], "eval(") ||
        stripos($_SERVER['REQUEST_URI'], "CONCAT") ||
        stripos($_SERVER['REQUEST_URI'], "UNION+SELECT") ||
        stripos($_SERVER['REQUEST_URI'], "base64")) {
           @header("HTTP/1.1 414 Request-URI Too Long");
           @header("Status: 414 Request-URI Too Long");
           @header("Connection: Close");
           @exit;
      }
  }
}

Thế Thôi

Mục đích chính của bài viết này mình muốn giới thiệu tới các bạn mức độ nguy hiểm của SQL Injection và cách phòng chống tốt nhất từ những kẻ phá hoại. Các bạn nên sử dụng cho mọi dự án của mình và đừng quên theo dõi chủ đề Bảo Mật WordPress trên Blog Lại Văn Đức nhé.

Xem Bài Tiếp Theo Trong Series << Chặn truy cập thư mục WP-Admin nhằm bảo mật WordPressPlugin Bảo Mật WordPress tốt nhất Miễn Phí và Có Phí >>
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận