API (application programming interface) menurut wordnik adalah seperangkat aturan dan spesifikasi tertentu yang dapat diikuti oleh program/perangkat lunak untuk berkomunikasi satu sama lain. API biasanya dibuat agar sistem eksternal dapat melakukan suatu aksi untuk memanipulasi/mengambil data dari sistem tertentu atau untuk mendapatkan layanan tertentu dari sistem. Untuk beberapa kasus, API dibuat untuk berkomunikasi dalam satu sistem itu sendiri, misalnya untuk keperluan plugin atau keperluan lain.
API
API dapat digunakan untuk komunikasi antar sistem dengan lebih aman karena tidak ada akses langsung ke sumber daya yang ada dan aturan dapat ditegakkan di dalam API. Akses ilegal dan eksekusi di luar kendali dapat dikurangi atau ditiadakan.
— API Yang Tidak Membakar: Hello World!
Best Practice
- Pastikan bahwa komunikasi antar sistem terjadi secara aman, misalnya melalui https, misalnya Mengaktifkan SSL (HTTPS) Pada Web Berbasis Apache dan Open SSL
- Pastikan bahwa konfigurasi server aman, seperti:
- menggunakan perangkat lunak dan sistem operasi server paling update
- aktifkan fitur otomatis update untuk perangkat lunak dan sistem operasi server
- atur permisi berkas dan folder, misalnya chown, chmod, dll
- Gunakan token atau otentikasi untuk mengakses setiap API yang ada
- Hindari menggunakan metode pengiriman GET
- Pesan error dapat diaktifkan pada saat pengembangan, tetapi harus dimatikan pada saat produksi atau live
- Ekstensi dapat disembunyikan, misalnya untuk Apache dapat menggunakan:
RewriteEngine on
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule ^ /%1 [NC,L,R]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [NC,L]