Như bài viết giới thiệu về WordPress REST API thì chúng ta thấy được lợi ích của nó trong việc quản lý WordPress thông qua API. Nhưng đồng nghĩa với lợi ích, thì nó cũng mang lại rủi ro về bảo mật như có thể dễ dàng crawler dữ liệu, hoặc các hacker có thể thực hiện các cuộc tấn công Brute Force để lấy mật khẩu của bạn.
Vì vậy, nếu không sử dụng WordPress REST API, bạn nên vô hiệu hóa nó đi. Có 2 cách để thực hiện việc này:
1. Vô hiệu hóa sử dụng plugin
Một số plugin mà bạn có thể tham khảo:
- Disable WP REST API: https://wordpress.org/plugins/disable-wp-rest-api/
- iThemes Security: https://wordpress.org/plugins/better-wp-security/
2. Vô hiệu hóa sử dụng code
Rất đơn giản là sử dụng đoạn code dưới đây đặt vào file functions.php của theme mà bạn đang sử dụng:
add_filter( 'rest_authentication_errors', function( $result ) { if ( ! empty( $result ) ) { return $result; } if ( ! is_user_logged_in() ) { return new WP_Error( 'rest_not_logged_in', 'You are not currently logged in.', array( 'status' => 401 ) ); } return $result; });
Đoạn code trên sẽ yêu cầu tất cả các request tới REST API Endpoint phải bắt buộc xác thực đăng nhập mới có thể lấy dữ liệu về. Vì WordPress khuyến nghị chúng ta không nên vô hiệu hoàn toàn WordPress API, nó sẽ làm ảnh hưởng tới các chức năng của WP-Admin.
Nguồn: vinasupport.com