Mengamankan Titik Akhir API Kustom WordPress: 11 Tips Esensial
Diterbitkan: 2025-05-23Jika Anda menggunakan WordPress Rest API, mengamankan titik akhir Anda adalah langkah penting untuk menjaga mereka dari menjadi vektor serangan. Dalam panduan ini, kami sedang menjelajahi praktik terbaik untuk melakukannya.
Di bawah ini, kami sedang mendiskusikan cara menjaga lalu lintas API tetap aman, menetapkan izin yang tepat, melindungi dan membersihkan data yang dikirimkan, dan tetap di atas masalah potensial.
Tl; dr for wordpress API titik akhir
Ditekan untuk waktu? Inilah takeaways utamanya.
API REST WordPress memungkinkan integrasi dan fleksibilitas yang kuat, tetapi titik akhirnya juga dapat membuka pintu untuk menyerang jika dibiarkan tanpa jaminan. Untuk menjaga situs Anda tetap aman, penting untuk mengimplementasikan keamanan berlapis untuk setiap aspek penggunaan API:
- Simpan WordPress, temanya, dan plugin up to date untuk menambal kerentanan yang diketahui.
- Amankan semua lalu lintas API dengan SSL/HTTPS untuk melindungi dari intersepsi dan merusak.
- Prioritaskan kecepatan situs untuk menghindari batas waktu, proses panggilan API dengan cepat, dan menjaga situs Anda bekerja selama serangan penolakan layanan.
- Gunakan peran dan izin pengguna khusus untuk menjaga hak istimewa seminimal mungkin.
- Validasi dan sanderikan data untuk menjaga markup berbahaya.
- Gunakan otentikasi dan otorisasi untuk mengontrol akses titik akhir API.
- Tambahkan tarif yang membatasi untuk bertahan melawan serangan brute-force, scraping, dan DOS.
- Harden pengaturan Anda dengan header keamanan, logging, dan daftar putih IP di mana diperlukan.
Mengenal API REST WordPress
Sebelum terjun ke dalam praktik keamanan untuk titik akhir API khusus, penting untuk memahami apa itu dan bagaimana mereka cocok dengan ekosistem WordPress.
Apa API REST WordPress?
Mari kita mulai dari paling atas. API adalah singkatan dari "Antarmuka Pemrograman Aplikasi." Ini adalah perangkat lunak yang memungkinkan dua program berbeda untuk berkomunikasi satu sama lain dan bertukar data.
WordPress memiliki banyak API, tetapi yang paling kuat dan penting adalah API sisanya. Ini telah menjadi fitur inti sejak WordPress 4.7.

REST adalah singkatan dari "Representational Sate Transfer" dan menjelaskan standar untuk membuat API yang menawarkan beberapa manfaat. Salah satunya adalah bahwa API yang REST memiliki waktu yang lebih mudah berkomunikasi satu sama lain.
WordPress REST API juga menggunakan format data JSON (JavaScript Object Notation), yang mudah dibaca dan ditulis dan kompatibel dengan banyak bahasa pemrograman.

Ini memberikan cara standar untuk berinteraksi dengan WordPress menggunakan permintaan HTTP seperti GET (Retrieve), Posting (buat), put/patch (perbarui), dan hapus (hapus). Dengan bantuan mereka, dimungkinkan untuk memanipulasi tipe data inti seperti posting, halaman, pengguna, dan komentar serta jenis konten khusus, dari luar WordPress tanpa masuk ke situs web terlebih dahulu.
Semua ini memungkinkan untuk mengintegrasikan dan menghubungkan WordPress dengan berbagai perangkat lunak, alat, dan aplikasi eksternal. Misalnya, API REST adalah alat dasar untuk pengaturan WordPress tanpa kepala atau mengintegrasikan situs web Anda dengan aplikasi seluler. Editor WordPress Block (alias Gutenberg) juga berfungsi menggunakan API REST.

Apa titik akhir API di WordPress?
Titik akhir adalah URL spesifik yang mewakili objek atau sumber daya di situs WordPress Anda. Ini bisa berupa posting, pengguna, atau pengaturan khusus. Ketika sepotong perangkat lunak lain mengirimkan permintaan ke URL itu, itu dapat menyebabkan WordPress menyediakan atau memodifikasi data yang terletak di titik akhir itu.
WordPress memiliki titik akhir bawaan untuk tipe data default seperti posting, komentar, media, dan pengguna. Anda juga dapat membuat titik akhir khusus untuk fungsi yang disesuaikan, untuk mengakses data khusus, membatasi paparan data, atau merampingkan kinerja. Ini berguna, misalnya untuk:
- Izinkan aplikasi eksternal untuk membuat perubahan seperti menerbitkan atau mengambil posting dan memperbarui profil pengguna.
- Hubungkan WordPress ke alat, aplikasi, dan layanan pihak ketiga (misalnya, CRMS, Penyedia Pemasaran Email).
- Aktifkan data real-time untuk fitur situs web yang dinamis, seperti pencarian langsung.
- Bangun panel admin khusus atau dasbor analitik.
Mengapa keamanan titik akhir API penting?
Karena API menawarkan akses langsung ke data situs web, itu juga membawa risiko keamanan. Setiap titik akhir API adalah titik masuk potensial ke situs WordPress Anda. Tanpa langkah -langkah keamanan yang tepat, mereka dapat dieksploitasi dan menyebabkan kerusakan, seperti:
- Mengungkapkan informasi sensitif
- Aktifkan serangan brute force atau injeksi
- Ekspos Fungsi Admin
- Koridor terbuka untuk serangan penolakan (DOS)
- Membuat injeksi malware menjadi mungkin
Misalnya, ketika Anda mengakses https://yoursite.com/wp-json/wp/v2/users/ (ganti milik Anda dengan domain asli Anda), secara default, Anda akan melihat daftar semua pengguna yang tersedia di situs web Anda.

Hal ini memudahkan peretas untuk memaksakan jalan mereka ke situs Anda, karena memberi mereka setengah dari kredensial yang diperlukan untuk masuk. Itulah mengapa penting untuk mengetahui cara mengamankan titik akhir API Anda untuk menjaga situs web WordPress Anda tetap aman.
Tapi melakukannya bukan tentang satu perbaikan. Ini membutuhkan kombinasi strategi, yang akan kita bicarakan sekarang.
1. Terapkan pembaruan perangkat lunak secara teratur
Menjaga inti WordPress, plugin, dan tema yang diperbarui menerapkan tambalan terbaru untuk kerentanan keamanan yang diketahui. Anda dapat menerapkannya secara manual atau menggunakan fungsi pembaruan otomatis di WordPress.

Secara default, pembaruan inti minor yang sudah menginstal secara otomatis karena sering dirilis secara khusus untuk mengatasi masalah keamanan. Saat Anda menerapkan pembaruan besar, pastikan untuk mencadangkan situs Anda terlebih dahulu dan mengujinya di situs web pementasan.
Selain itu, jangan lupa untuk meninjau dan memperbarui plugin atau kode khusus yang menangani rute API.
2. Gunakan SSL/HTTPS
Menerapkan SSL di situs web Anda memastikan bahwa semua permintaan dan tanggapan API dienkripsi dalam perjalanan. Ini melindungi data sensitif seperti token otentikasi atau informasi pengguna agar tidak dicegat atau dimanipulasi oleh serangan man-in-the-middle.
Untuk menjalankan situs web Anda di HTTPS, Anda memerlukan sertifikat SSL/TLS. Jika situs web Anda belum memilikinya, biasanya termudah untuk mengatur melalui penyedia hosting Anda. Setelah itu, Anda masih perlu menegakkan penggunaan HTTPS untuk semua lalu lintas dan panggilan API.
3. Investasikan dalam kinerja situs web
Sama seperti semua bagian lain dari situs web Anda, agar API lainnya melakukan tugasnya, ia membutuhkan kinerja situs yang baik. Jika situs web Anda tidak dapat mengakomodasi permintaan API karena kurangnya sumber daya server, aplikasi dan integrasi yang bergantung padanya dapat mengalami respons dan batas waktu yang lambat.
Selain itu, situs web yang dioptimalkan dengan kecepatan memiliki kesempatan yang lebih baik untuk tetap responsif bagi pengunjung dan perbaikan selama serangan terhadap titik akhir API yang bertujuan untuk membebani.
Ada banyak cara untuk meningkatkan kinerja situs web, seperti berinvestasi dalam hosting berkualitas dan mengoptimalkan gambar Anda. Cara mudah untuk mempercepat situs WordPress Anda adalah dengan menggunakan plugin kinerja seperti WP Rocket. Ini termasuk banyak fitur untuk meningkatkan kecepatan situs seperti:
- Caching, termasuk cache seluler terpisah
- Memuat malas untuk gambar, termasuk latar belakang CSS, video, dan iframe
- Menunda sumber daya pemblokiran render
- Cache preloading, tautan, file eksternal, dan font
- Font Google yang menjadi tuan rumah mandiri
- Optimalisasi Basis Data
- Opsi untuk dengan mudah terhubung ke CDN, termasuk RocketCDN
Selain itu, WP Rocket mengimplementasikan peningkatan kinerja tambahan di latar belakang, seperti kompresi GZIP, meminimalkan file CSS dan JavaScript, dan optimasi gambar di atas lipatan (untuk meningkatkan cat konten terbesar).

Akibatnya, situs Anda memenuhi 80% dari praktik terbaik kinerja segera setelah Anda mengaktifkan plugin dan segera mendapatkan lebih cepat tanpa pekerjaan tambahan di pihak Anda.
4. Mengatur Peran Pengguna Kustom
WordPress memiliki peran pengguna dengan kemampuan yang ditentukan sebagai fitur default.

Karena permintaan API menggunakan kredensial otentikasi milik pengguna di situs web Anda, mengatur tingkat akses yang tepat juga menentukan titik akhir apa yang dapat mereka gunakan dan operasi apa yang dapat mereka lakukan:
- Administrator: Dapat melakukan semua operasi crud (buat, baca, perbarui, hapus) pada semua titik akhir API.
- Editor: Memiliki akses ke sebagian besar titik akhir API yang terkait dengan posting, halaman, dan media, dengan izin untuk membuat, mengedit, dan menghapus konten.
- Penulis: Termasuk akses ke titik akhir untuk membuat dan memperbarui posting yang ditetapkan untuk pengguna.
- Kontributor: Akses ke titik akhir API terbatas pada draf mereka sendiri tanpa kemampuan untuk mempublikasikannya.
- Pelanggan: Pelanggan biasanya hanya dapat mengambil informasi profil pengguna mereka sendiri.
Untuk keamanan titik akhir API, hindari menggunakan peran privilege tinggi (misalnya, administrator) jika tidak perlu untuk tugas yang dihadapi. Ini mengurangi kemungkinan kejatuhan dari potensi pelanggaran.
Lebih baik lagi, buat peran khusus dengan hanya izin yang diperlukan untuk apa yang Anda coba capai. Ini juga disebut prinsip hak istimewa yang paling tidak.
Anda dapat menggunakan fungsi add_role () dan add_cap () untuk menentukan peran kustom dan mengelola kemampuan serta menghapus_cap () untuk mengambil hak istimewa dari peran pengguna yang ada. Atau, gunakan plugin editor peran pengguna.

Dimungkinkan juga untuk sepenuhnya menonaktifkan API REST untuk pengguna yang tidak resmi menggunakan plugin seperti Disable WP REST API atau melalui Functions.php.
5. Menerapkan validasi dan sanitasi input
Validasi input dan sanitasi data menjaga penyerang agar tidak mengirimkan perintah atau skrip SQL yang berbahaya melalui titik akhir API.
Validasi berarti memeriksa data yang masuk untuk memastikan itu cocok dengan format, jenis, dan nilai yang diharapkan. Sanitasi, di sisi lain, menghilangkan kode berbahaya yang tertanam dalam permintaan. Keduanya sangat penting untuk konten yang dibuat pengguna.
WordPress menawarkan beberapa fungsi asli untuk tujuan ini yang dapat Anda temukan di sumber daya pengembang:
- Sumber Daya Pengembang WordPress: Validasi Data
- Sumber Daya Pengembang WordPress: Sanitasi Data
6. Memanfaatkan pernyataan yang disiapkan untuk kueri basis data
Pernyataan yang disiapkan menjaga input pengguna dan perintah basis data terpisah. Dengan begitu, mereka membantu mencegah serangan injeksi SQL dengan menetralkan struktur kueri jahat.
Di WordPress, Anda dapat menggunakan $ WPDB-> Persiapan () saat membangun kueri SQL untuk secara otomatis keluar dari input pengguna serta menyertakan placeholder ( %s, %d, dll.) Alih-alih secara langsung memasukkan nilai mentah ke dalam kueri.
7. Pastikan praktik otentikasi dan otorisasi yang kuat
Otentikasi memastikan pengguna atau entitas yang meminta data dari titik akhir API adalah siapa yang mereka klaim. Otorisasi, di sisi lain, mengontrol apa yang dapat dilakukan dan dapat dilakukan oleh pengguna yang diberikan. Kami sudah membahas ini saat berbicara tentang peran pengguna sebelumnya.
Secara default, API REST WordPress menawarkan otentikasi melalui cookie dan nonces, yang merupakan token unik, berumur pendek. Anda juga dapat menggunakan otentikasi dasar dengan mengatur kata sandi aplikasi di profil pengguna Anda.

Token web OAuth dan JSON juga tersedia melalui plugin seperti WP REST API - OAuth 1.0A Server dan Otentikasi JWT untuk WP REST API.
Gunakan berbagai jenis otentikasi dalam kasus -kasus berikut:
- Cookies + Nonces: Ideal untuk tema/plugin yang melakukan panggilan API di browser.
- Kata Sandi Aplikasi (Auth Dasar): Gunakan untuk skrip, alat, atau layanan eksternal. Mudah diatur, dan bagus untuk komunikasi server-ke-server.
- OAuth: Terbaik untuk aplikasi pihak ketiga yang membutuhkan akses pengguna.
- JWT (JSON Web Token): Baik untuk ujung depan tanpa kepala atau dipisahkan (misalnya, reaksi atau aplikasi seluler) dan titik akhir API dengan lalu lintas tinggi.
8. Pekerjakan tingkat pembatasan dan pelambatan tingkat mempekerjakan
Batas Batas Memungkinkan Anda untuk menetapkan batasan berapa banyak permintaan yang dapat dilakukan pengguna atau IP dalam periode waktu tertentu. Ini membantu mempertahankan terhadap serangan brute-force, spam, penyalahgunaan otomatis yang bertujuan untuk membebani sistem yang berlebihan.
Pembatasan laju sangat penting untuk titik akhir publik atau yang tidak terauthentikasi. Pada saat yang sama, tidak terlalu membatasi sehingga memblokir semua permintaan dan lalu lintas yang sah saat diserang.
Batas dapat ditempatkan oleh klien atau lokasi atau diletakkan di server itu sendiri. Anda dapat menggunakan batas keras, yang melarang permintaan apa pun sampai diangkat, atau membatasi jumlah permintaan selama periode waktu. Akhirnya, Anda juga dapat menetapkan batas yang berbeda untuk grup pengguna yang berbeda.
Tutorial WP memiliki panduan hebat tentang pembatasan tingkat untuk WordPress API.
9. Gunakan header keamanan
Header keamanan memberikan lapisan perlindungan tambahan dengan menginstruksikan browser cara menangani konten dan koneksi situs Anda. Ketika API Anda berinteraksi dengan aplikasi front-end atau layanan eksternal, header ini membantu mengurangi kerentanan web umum.

Header keamanan yang penting untuk diterapkan adalah:
- Konten-keamanan-kebijakan: Kontrol skrip mana yang dapat dijalankan di ujung depan yang terhubung dengan API.
- X-Content-Type-Options: Setel ke Nosniff untuk mencegah browser dari menafsirkan file sebagai tipe MIME yang berbeda.
- X-Frame-Options: Menggunakan DENY atau SAMA membantu Anda mencegah clickjacking dengan melarang situs Anda tertanam dalam iframe.
- Ketat-transport-keamanan: Menegakkan HTTPS atas permintaan di masa depan.
Header keamanan dapat ditambahkan menggunakan PHP melalui fungsi header (), melalui file server seperti .htaccess, atau plugin keamanan seperti header Security Advanced. Pelajari lebih lanjut tentang header keamanan.
10. Alamat IP Izinkan
Cara lain untuk mengontrol akses ke titik akhir sensitif atau admin adalah dengan membatasinya ke alamat IP atau rentang tertentu yang telah ditentukan sebelumnya. Ini bertindak sebagai penghalang sederhana namun efektif terhadap permintaan yang tidak sah dari sumber yang tidak diketahui.
Tentu saja, prasyaratnya adalah Anda tahu alamat IP perangkat dan program yang ingin Anda izinkan untuk mengakses titik akhir API Anda dan mereka tetap statis. Anda dapat mengonfigurasi daftar izin di level server (misalnya, .htaccess, nginx config), melalui functions.php, dan beberapa plugin keamanan.
11. Manfaatkan penebangan dan pemantauan
Akhirnya, merekam permintaan API, respons, dan aktivitas pengguna adalah alat hebat lainnya untuk mengamankan titik akhir API WordPress. Ini memungkinkan Anda untuk mengidentifikasi titik yang lemah, memantau pola permintaan, kesalahan spot, dan menentukan sumber pelanggaran keamanan.

Ini membantu memperkuat keamanan Anda dari waktu ke waktu. Anda dapat menggunakan plugin seperti log API REST, log akses server Anda, atau fungsi logging khusus.
Amankan titik akhir API WordPress khusus Anda sekarang
API REST WordPress dan titik akhirnya sangat kuat tetapi dapat menimbulkan risiko serius jika tidak diamankan dengan benar. Membuatnya aman untuk digunakan membutuhkan lapisan yang berbeda dan pendekatan multi-cabang. Tapi, seperti yang telah Anda lihat di atas, itu relatif mudah.
Salah satu aspek yang tidak boleh Anda abaikan adalah kinerja situs. Situs yang dioptimalkan dengan baik dapat mengirimkan data melalui API lebih cepat dan memiliki peluang lebih tinggi untuk tetap responsif untuk pemecahan masalah selama serangan penolakan layanan. Untuk cara yang mudah dan ramah pengguna untuk mempercepat situs Anda, WP Rocket!