Cách tắt tính năng Application Passwords của WordPress 5.6

Application Passwords (cấp mật khẩu cho các ứng dụng) là một tính năng mới được thêm vào từ phiên bản 5.6 của WordPress. Nó được dùng để cấp quyền cho các application (ứng dụng) thông qua WordPress REST APIs. Tuy nhiên, tính năng này rất dễ bị kẻ xấu lợi dụng để chiếm quyền kiểm soát website WordPress của bạn. Do đó, các chuyên gia khuyên người dùng nên tắt tính năng này đi khi cập nhật website lên WordPress phiên bản 5.6.

Có hai cách để tắt tính năng mới này: dùng plugin hay thêm code. Mình sẽ hướng dẫn các bạn thật chi tiết và cụ thể. Nhưng trước tiên, bạn có băn khoăn tại sao không nên để tính năng cấp mật khẩu cho ứng dụng của WordPress 5.6 chạy không?

Công dụng của Application Passwords trong WordPress 5.6

Cách tắt tính năng Application Passwords của WordPress 5.6

Trước tiên, bạn cần hiểu về công dụng của tính năng Application Passwords một chút đã. 

Tính năng này cho phép các ứng dụng bên ngoài (external application) xin phép được cấp một số quyền trên website WordPress nào đó. Khi nhận được sự đồng ý của chủ website, mỗi ứng dụng sẽ được cấp một mật khẩu riêng để đăng nhập vào trang WordPress và thực thi một số hành động thay mặt chủ website thông qua WordPress REST API.

Tại sao nên tắt Application Passwords trong WordPress 5.6?

Nghe thì có vẻ tiện lợi. Tuy nhiên, không phải website nào cũng cần các API, và việc cấp quyền cho một ứng dụng bên ngoài không rõ nguồn gốc có thể dẫn tới các vấn đề về bảo mật.

Ví dụ, các hacker có thể đặt tên ứng dụng của chúng giống với một ứng dụng uy tín trên thị trường, sau đó lừa bạn cấp quyền cho chúng thông qua tính năng Application Passwords. Một khi yêu cầu của hacker được chấp thuận, chúng có thể phá hoại website và trộm đi các dữ liệu quan trọng, tùy vào mức độ quyền hạn mà bạn cấp cho ứng dụng đó. 

Ngoài ra, nếu website WordPress của bạn chưa được cấp chứng chỉ SSL, các hacker có thể nhìn thấy mật khẩu của ứng dụng nếu chúng đột nhập được vào mạng nội bộ của bạn (hoặc mạng kết nối website của bạn với trang web của ứng dụng).

Do đó, nếu không thực sự cần tới các API, bạn tốt hơn hết nên tắt tính năng Application Passwords khi nâng cấp lên WordPress phiên bản 5.6. Bạn có thể tắt nó đi một cách thủ công hoặc dùng các plugin.

Tắt tính năng Application Passwords bằng plugin

Nếu bạn đang sử dụng các dịch vụ / plugin bảo mật như Wordfence, WebARX, Astra Security, vv, chúng sẽ tự động tắt tính năng Application Passwords và bạn không cần động chân động tay chi hết.

Nếu bạn không sử dụng các plugin kể trên, hãy thử một plugin miễn phí là Disable Application Passwords. Đây là một plugin mới chuyên dùng để tắt tính năng này. Nó có sẵn trên wordpress.org, vậy nên bạn có thể cài đặt và kích hoạt plugin ngay trên Admin Dashboard như bình thường nhé.

Sau khi kích hoạt thành công plugin, tính năng Application Passwords sẽ bị tắt hoàn toàn một cách tự động. Nếu bạn muốn bật lại tính năng này, chỉ cần hủy kích hoạt plugin Disable Application Passwords đi là xong, quá đơn giản đúng không nào?

Plugin này cực kỳ nhẹ và dễ sử dụng. Tuy nhiên, nếu bạn không thích cài nhiều plugin trên một website, hãy thử dùng code như dưới đây. 

Đừng lo, việc dùng code cũng không quá phức tạp, bạn chỉ cần copy và paste là xong!

Tắt tính năng Application Passwords một cách thủ công

Để tắt hoàn toàn tính năng Application Passwords, hãy thêm đoạn code sau vào file functions.php của theme mà bạn đang sử dụng:

add_filter( 'wp_is_application_passwords_available', '__return_false' );

Chú ý: Cho những bạn nào chưa biết thì file functions.php nằm trong mục Appearance > Theme Editor.

add_filter( 'wp_is_application_passwords_available', '__return_false' );
Mở file function.php trong WordPress để tắt tính năng Application Passwords

Ngoài ra, bạn cũng có thể giới hạn những người có quyền sử dụng tính năng này. Ví dụ, mình chỉ muốn người dùng với vai trò Administrator Editor được phép cấp mật khẩu ứng dụng trong WordPress 5.6, thì mình cần nhập đoạn code sau đây vào filefunctions.php:

function your_prefix_customize_app_password_availability( $available, $user ) {
   if ( ! in_array( 'administrator', (array) $user->roles ) && ! in_array( 'editor', (array) $user->roles ) ) {
       $available = false;
   }
   return $available;
}
add_filter( 'wp_is_application_passwords_available_for_user', 'your_prefix_customize_app_password_availability', 10, 2 );
  • Nếu bạn muốn chỉ có các Administrator được sử dụng tính năng Application Passwords, hãy xóa bớt đoạn && ! in_array( 'editor', (array) $user->roles ) ) { trong đoạn code    if ( ! in_array( 'administrator', (array) $user->roles ) && ! in_array( 'editor', (array) $user->roles ) ) {
  • Nếu bạn muốn cho phép người dùng với các vai trò nhất định khác được sử dụng tính năng Application Passwords, hãy thay 'administrator''editor' bằng tên các vai trò mong muốn (ví dụ: ‘author’) là xong.

Bật lại tính năng Application Passwords

Như mình đã đề cập ở trên, một vài plugin sẽ tự động tắt tính năng Application Passwords trong WordPress 5.6. Vậy nếu bạn muốn bật nó lên thì phải làm sao? Rất đơn giản, chỉ cần nhập đoạn code này vào file functions.php:

add_filter( 'wp_is_application_passwords_available', '__return_true' );

Tuy nhiên, hãy nhớ rằng bạn không nên cấp cho các ứng dụng này những quyền quan trọng. Ngoài ra, chỉ nên cấp quyền cho các ứng dụng mà bạn biết rõ nguồn gốc xuất xứ cũng như biết chính xác chúng sẽ làm gì trên website.

Tắt tính năng Application Passwords của WordPress 5.6 bằng cách dùng code hoặc plugin

Lời cuối

Các phiên bản mới, song hành cùng việc đem tới các tính năng hay ho thì cũng thường đi kèm với một số vấn đề. Chẳng hạn như các sitemap tạo bởi tính năng Sitemaps của WordPress 5.5 có thể xung đột với sitemap tạo bởi plugin, vậy là dân tình lại nhao nhao tắt nó đi (bạn có thể xem chi tiết cách tắt tính năng Sitemap của WordPress 5.5 tại đây).

Từ phiên bản 5.6, các website đang chạy trên bản WordPress 5.6 sẽ tự động được nâng cấp lên các phiên bản WordPress mới nhất. Vậy nên hãy theo dõi các bài viết của tụi mình một cách thường xuyên để cập nhật sớm nhất các thông tin về những phiên bản mới của WordPress nhé!

Ngoài ra, nếu bạn cảm thấy không hài lòng với phiên bản 5.6 của WordPress mà đã lỡ cập nhật mất rồi thì cũng đừng quá lo, bởi bạn hoàn toàn có thể đưa website về các phiên bản WordPress cũ hơn rất đơn giản.

Để lại bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *