Hi MWN’ers

Masalah

Saat ingin mengakses [salah satu dari] halaman website saya, muncul pesan error 403 (Forbidden). Mengapa?

Penjelasan/solusi

Adalah status kode HTTP yang menunjukkan sebuah server dapat dijangkau namun menolak untuk melakukan tindakan lebih lanjut dengan beberapa alasan. Alasan disini tidak dapat dikemukakan oleh server tersebut karena bisa berupa kebijakan privasi atau bisa juga hal-hal teknis yang tidak dapat dicapai antara pengguna dan server. Nah hal yang kedua ini yang bisa kita telusuri. Berikut ini beberapa kemungkinan yang umum:

Kesalahan pada URL

Ini bisa terjadi karena url yang hendak kita tuju mengindikasikan error, semisal url tidak komlplit dan hanya terdapat direktorinya saja. Pada beberapa kasus, contohnya http://www.namawebsite.com/aabbcc/xxyyzz/namafile.ext yang merupakan halaman download sebuah file dengan ekstensi tertentu dapat dijangkau, namun terkadang menampilkan pesan error saat menjangkau direktorinya saja seperti http://www.namawebsite.com/aabbcc/xxyyzz/, untuk itu solusinya periksa link yang kita tuju di address bar.

Account didisable

Account Anda mungkin didisable karena satu dan lain hal. Ini ditandai dengan gejala:

  • Anda tidak bisa login lagi melalui FTP;
  • saat login ke melalui SSH, muncul pesan bahwa account didisable beserta dengan alasannya;
  • saat login lewat Control Panel muncul pesan ‘Account didisable’.

Beberapa penyebab yang umum adalah: account sudah expired (tidak dibayar/diperpanjang lagi); atau terjadi pelanggaran dan tidak ada respon dari pihak Anda; atau terjadi pelanggaran berat yang mengharuskan account segera didisable secepat mungkin untuk mencegah hal-hal yang tidak diinginkan.

Silakan hubungi customer support kami untuk lebih jelasnya jika ini terjadi.

Nama file yang aneh

Pesan yang muncul di log website: denied by client configuration.

Defaultnya, konfigurasi di server hosting melarang file-file dengan nama tertentu, untuk melindungi Anda dari kecelakaan kebocoran akses. Beberapa jenis file yang dilindungi adalah:

  • Backup. File-file dengan ekstensi backup, seperti file~, file.bak, file.old, DEADJOE. Mengapa diproteksi? Karena file backup bisa jadi adalah skrip PHP, CGI, dll yang jika tidak diprotek akan terlihat source codenya. Contoh: index.php jika dilihat oleh browser akan tereksekusi dan tidak terlihat source codenya, tapi index.php~ akan terlihat sebagai teks source code jika tidak diproteksi.
  • Dotfiles. File yang diawali dengan titik (dotfiles) atau spasi. Mengapa diproteksi? Berdasarkan konvensi penamaan, umumnya file-file ini dimaksudkan untuk bersifat pribadi, tersembunyi, rahasia. Beberapa contoh file ini misalnya .htaccess, .htpasswd, dll.
  • Temp or disabled files. File yang diakhiri titik, spasi, tanda setrip/minus (-), garis bawah/underscore (_). Umumnya pemberian akhiran-akhiran seperti ini sering dilakukan oleh orang untuk menandai sementara bahwa file ini ingin didisable atau tidak dipakai dulu.
  • Include files. File berekstensi .inc yang sering dipakai untuk menyimpan skrip PHP.

Jika Anda menggunakan salah satu nama file tersebut dan ingin agar tetap bisa dilihat dari browser, harap ubahlah menjadi nama file yang “wajar” karena pada umumnya tidak ada alasan untuk memberi nama-nama file yang aneh kecuali Anda memang ingin menyembunyikan sementara sebuah file. Setting di server berusaha membantu memastikan bahwa file-file backup dan file yang ingin Anda sembunyikan atau disable sementara itu tidak dapat diakses oleh orang yang iseng-iseng mencobanya.

Untuk file include PHP, alih-alih .inc gunakanlah .inc.php.

Jika memang tetap ingin menggunakan nama file yang “aneh”, Anda bisa menambahkan sendiri direktif allow di file .htaccess Anda untuk file-file dengan nama tersebut.

Symlink

Pesan yang muncul di log website: XXX

Anda menggunakan symlink ke target yang bukan milik Anda. Symlink hanya dibolehkan dilihat jika targetnya adalah file-file/direktori milik Anda sendiri.

Permission

Pesan yang muncul di log website: XXX

Permission file tidak benar. Pastikan permission file kurang lebih 0644 atau 0755 agar dapat diakses oleh webserver.