REST API pada wordpress mulai diperkenalkan sejak dirilisnya wordpress versi 5.5. Semenjak REST API hadir banyak pengguna wordpress mengalami kendala dalam pengembangan websitenya. Seperti JSON yang tidak merespon dengan baik, block editor yang tidak dapat digunakan.

Sebelum membahas cara menonaktifkan JSON REST API di wordpress, sudahkan Anda tahu apa itu API? Application Programming Interface (APIs) merupakan suatu sistem yang mengizinkan sistem lain untuk terhubung pada sistem tersebut. Sebagai contoh Twitter, Twitter menyediakan API untuk mengambil beberapa tweet dari pengguna tertentu. Twitter API juga memberikan kontrol kepada pengguna untuk menampilkan jumlah lini masa , hanya menampilkan tweet dan profil pengguna saja dan lain sebagainya.

Secara singkat REST API memungkinkan pengguna untuk membuat sebuah permintaan ke sistem eksternal. Di wordpress sendiri memberikan akses penuh untuk segala fitur wordpress pada framework yang menggunakan JSON. Lalu mengapa pada wordpress JSON REST API harus dinonaktifkan?

Menonaktifkan rest api wordpress

Seperti penjelasan diatas REST API digunakan untuk mengambil data menggunakan permintaan GET, yang berfungsi membantu pengembangan website itu sendiri. Dengan kemudahan dan akses penuh tersebut ternyata menyimpan beberapa masalah keamaan, seperti website akan lebih mudah terkena serangan DDOS (Distributed Denial of Service).

Jika sudah terkena DDOS website Anda tentunya tidak dapat diakses karena terlalu besarnya penggunaan resource. Dan lebih fatalnya website Anda akan diambil alih oleh beberpaa pihak yang tidak bertanggung jawab. Lalu bagaimana cara menonaktifkan JSON REST API di wordpress? Berikut langkah mudahnya.

Menggunakan Plugin

Cara mudah namun saya tidak akan merekomendasikan ini sebagai cara yang aman meskipun cara ini dapat menyelesaikan masalah ini. Karena beberapa plugin dapat menyebabkan beberapa fungsi yang Anda buat tidak dapat berjalan dengan baik. Plugin yang dapat membantu Anda untuk menonaktifkan JSON REST API adalah sebagai berikut:

Disable REST API

menonaktifkan rest api wordpress

WP REST API Controller

menonaktifkan rest api wordpress

Menggunakan Kode

Anda dapat menambahkan kode dibawah ini kedalam file function.php atau kustom function Anda. Kode dibawah ini direkomendasikan oleh wordpress pada artikel ini:https://developer.wordpress.org/rest-api/frequently-asked-questions/#can-i-disable-the-rest-api.

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;
});

Jika Anda ingin menguji plugin atau kode diatas berfungsi atau tidak cukup akses pada domain anda dengan menambahkan /wp-json. Sebagai contoh seperti https://domain.com/wp-json. Hasil yang ditampilkan dari kode diatas adalah seperti bawah ini:

Sebelum:

Menonaktifkan rest api wordpress

Sesudah:

menonaktifkan rest api wordpress

Semoga bermanfaat dan terimakasih 🙂


Avatar for Pram Eko

administrator

Pram Eko is devoted to exploring web trends, website developer, and writing about WordPress for almost 8 years.

Leave a Reply

Your email address will not be published. Required fields are marked *