Apa Itu Server Side Includes (SSI)?
Server Side Includes (SSI) adalah mekanisme sederhana untuk menyisipkan konten dinamis ke dalam file HTML statis sebelum dikirim ke browser pengunjung. Dengan SSI, Anda dapat menggunakan perintah khusus (seperti menyertakan header, footer, atau tanggal) tanpa harus menulis ulang kode tersebut di setiap halaman. Di cPanel, fitur ini dikelola melalui konfigurasi Apache yang memungkinkan server memproses file dengan ekstensi tertentu (biasanya .shtml) untuk mengeksekusi perintah SSI.
Langkah Mengaktifkan SSI di cPanel
Untuk mengaktifkan SSI, Anda harus memastikan server mengenali file Anda sebagai file yang mengandung perintah SSI. Ikuti langkah teknis berikut:
- Login ke akun cPanel Anda.
- Cari menu Advanced, lalu pilih Apache Handlers.
- Pada bagian Add an Apache Handler, masukkan data berikut:
- Extension:
shtml - Handler:
server-parsed
- Extension:
- Klik tombol Add.
- Jika Anda ingin file
.htmlbiasa juga memproses SSI, tambahkan handler dengan extensionhtmldan handlerserver-parsed(Catatan: ini dapat meningkatkan beban server).
Sintaks Dasar SSI
Setelah handler aktif, Anda dapat menyisipkan perintah SSI langsung ke dalam kode HTML Anda. Berikut adalah contoh sintaks yang paling sering digunakan:
<!--#include virtual="/header.html" -->Perintah di atas akan mengambil konten dari file header.html dan menampilkannya di lokasi tersebut saat halaman dimuat.
| Perintah SSI | Fungsi |
|---|---|
| <!--#include virtual="file.html" --> | Menyisipkan konten dari file lain |
| <!--#echo var="DATE_LOCAL" --> | Menampilkan tanggal dan waktu server |
| <!--#flastmod file="index.html" --> | Menampilkan waktu modifikasi terakhir file |
| <!--#exec cmd="ls" --> | Menjalankan perintah shell (Sangat berisiko) |
Tips Keamanan dan Troubleshooting
Penggunaan SSI memiliki risiko keamanan jika tidak dikelola dengan benar, terutama perintah exec. Berikut adalah panduan praktis untuk menjaga keamanan situs Anda:
- Batasi Perintah: Hindari penggunaan
#execkecuali benar-benar diperlukan, karena dapat disalahgunakan untuk menjalankan perintah berbahaya di server. - Gunakan Ekstensi .shtml: Disarankan menggunakan ekstensi
.shtmldaripada.htmluntuk membedakan file yang diproses server dengan file statis murni. - Cek Error Log: Jika konten tidak muncul, periksa Error Log di cPanel untuk melihat apakah ada kesalahan sintaks atau masalah izin akses file (permission).
- Izin File: Pastikan file yang akan di-include memiliki izin akses (chmod) yang dapat dibaca oleh user web server (biasanya 644).