HTTP 403 “Terlarang”: Penyebab, Cegah dan Perbaiki
Diterbitkan: 2023-09-01- Apa itu HTTP 403?
- Penyebab Umum
- Diagnosis
- Cara Mencegahnya
- Bagaimana memperbaikinya
- Kesalahan Terkait
HTTP 403, menandakan “Terlarang” dan menunjukkan bahwa permintaan klien dipahami oleh server, namun menolak untuk memenuhinya.
Artikel ini bertujuan untuk menjelaskan esensi HTTP 403, mengungkap penyebab umumnya, memandu diagnosisnya, dan menawarkan teknik pencegahan dan penyelesaian.
Kami juga akan menyoroti kesalahan terkait untuk memberikan pemahaman yang komprehensif.
Apa itu HTTP 403?
HTTP 403 adalah kode status yang menandakan “Terlarang.” Ketika ditemui, ia memberitahu klien bahwa server memahami permintaan tersebut tetapi menolak untuk menyelesaikannya.
Berbeda dengan status 401 “Tidak Sah” , yang terkait dengan masalah autentikasi pengguna, kesalahan 403 menunjukkan bahwa autentikasi mungkin berhasil, namun pengguna yang diautentikasi masih belum memiliki izin yang diperlukan untuk mengakses sumber daya yang diminta.
Penyebab Umum
Kesalahan HTTP 403 dapat timbul karena berbagai keadaan:
- Izin Tidak Memadai : Pengguna mungkin tidak memiliki izin yang diperlukan untuk mengakses sumber daya tertentu di server.
- Batasan Geografis : Beberapa konten web mungkin dibatasi untuk pengguna dari wilayah atau negara tertentu.
- Pemblokiran IP : Server mungkin memblokir alamat IP tertentu karena masalah keamanan atau aktivitas mencurigakan sebelumnya.
- Aturan .htaccess yang Ketat : Aturan yang salah atau terlalu membatasi dalam file .htaccess di server Apache dapat menyebabkan kesalahan 403.
- Protokol Keamanan Server : Beberapa server mungkin memiliki protokol keamanan yang memblokir permintaan dari agen pengguna atau browser tertentu.
Diagnosis
Untuk menentukan akar penyebab kesalahan HTTP 403, pertimbangkan langkah-langkah berikut:
- URL Tinjauan : Pastikan URL yang diakses benar dan tidak ada kesalahan ketik.
- Periksa Log Server : Log server dapat memberikan wawasan mengapa permintaan tertentu ditolak.
- Periksa File .htaccess : Untuk situs web yang berjalan di Apache, meninjau file .htaccess dapat mengidentifikasi aturan yang terlalu membatasi.
Cara Mencegahnya
Menghindari kesalahan HTTP 403 melibatkan langkah-langkah proaktif untuk memastikan kelancaran interaksi server-klien:
- Tinjau Izin Secara Teratur : Periksa dan sesuaikan izin secara berkala untuk memastikan pengguna dapat mengakses sumber daya yang diperlukan.
- Perbarui .htaccess dengan hati-hati : Saat memodifikasi file .htaccess, lakukan dengan hati-hati dan selalu simpan cadangan.
- Pantau Keamanan Server : Tetap perbarui protokol keamanan server untuk mencegah penyumbatan yang tidak disengaja.
Bagaimana memperbaikinya
Mengatasi kesalahan 403 bergantung pada penyebab utamanya:
1. Sesuaikan Izin
Pastikan izin yang tepat diberikan kepada pengguna atau direktori yang memerlukan akses. (Baca selengkapnya)
2. Perbaiki masalah .htaccess
- Cadangkan File
.htaccess
Anda : Selalu buat cadangan file.htaccess
sebelum melakukan perubahan apa pun. - Periksa Petunjuk Tolak : Cari arahan
Deny
apa pun di file.htaccess
Anda. Jika ada, mungkin menyebabkan kesalahan 403. Misalnya:Order allow,deny Deny from all
Untuk mengatasinya, hapus arahan atau modifikasi untuk mengizinkan lalu lintas yang diinginkan. - Perlindungan Kata Sandi : Jika direktori tertentu dilindungi kata sandi menggunakan
AuthType
,AuthName
,AuthUserFile
, danRequire
, pastikan Anda memiliki kredensial yang benar untuk mengaksesnya. Jika Anda tidak menginginkan perlindungan kata sandi, Anda dapat mengomentari atau menghapus arahan ini. - Izin File : Meskipun ini bukan sepenuhnya solusi
.htaccess
, pastikan file dan direktori Anda memiliki izin yang benar. Untuk banyak server, pengaturan izin umumnya adalah:- Folder: 755
- File: 644
- Daftar Direktori : Jika Anda mencoba mengakses direktori yang tidak memiliki file indeks (seperti
index.html
atauindex.php
) dan daftar direktori dinonaktifkan, Anda mungkin mendapatkan kesalahan 403. Anda dapat:- Tambahkan file indeks ke direktori.
- Aktifkan daftar direktori dengan:
Options +Indexes
- Aturan Mod_Rewrite : Jika Anda menggunakan aturan mod_rewrite, pastikan aturan tersebut ditulis dengan benar. Aturan yang salah terkadang dapat menyebabkan kesalahan 403. Komentari aturan tertentu untuk mengetahui apakah itu penyebabnya.
- Periksa Pembatasan File : Cari aturan yang membatasi akses berdasarkan nama file, seperti:
<Files "secretfile.php"> Order allow,deny Deny from all </Files>
Sesuaikan atau hapus aturan ini seperlunya. - Pastikan Sintaks .htaccess : File
.htaccess
yang salah ditulis atau file dengan arahan yang tidak valid dapat menyebabkan kesalahan 403. Pastikan semua arahan dan sintaksis sudah benar.
Setelah melakukan perubahan pada file .htaccess
, ingatlah untuk menghapus cache browser Anda atau uji menggunakan browser lain untuk memastikan Anda melihat hasil yang diperbarui. Jika tidak ada solusi di atas yang menyelesaikan masalah, pertimbangkan untuk memulihkan cadangan file .htaccess
saat Anda tidak mengalami kesalahan 403.
3. Daftar Putih Alamat IP
Jika pemblokiran IP adalah penyebabnya, pertimbangkan untuk memasukkan alamat IP terkait ke dalam daftar putih.
Daftar putih dengan .htaccess:
- Temukan Aturan Pemblokiran IP yang Ada : Cari aturan apa pun yang ada di file
.htaccess
Anda yang mungkin memblokir alamat IP. Bentuknya mungkin seperti:Order Deny,Allow Deny from all Allow from 123.123.123.123
Dalam contoh ini, hanya IP123.123.123.123
yang diperbolehkan, dan semua IP lainnya ditolak. - Masukkan Alamat IP ke dalam daftar putih : Jika Anda ingin memasukkan alamat IP tertentu ke dalam daftar putih, Anda dapat menambahkannya menggunakan direktif
Allow from
:Allow from YOUR.IP.ADDRESS.HERE
GantiYOUR.IP.ADDRESS.HERE
dengan alamat IP yang ingin Anda masukkan ke daftar putih . - Daftar Putih Beberapa Alamat IP : Jika Anda memiliki beberapa alamat IP untuk dimasukkan ke daftar putih, Anda dapat menambahkan beberapa arahan
Allow from
:Allow from IP.ADDRESS.1 Allow from IP.ADDRESS.2
- Masukkan Rentang IP ke dalam daftar putih : Jika Anda memiliki rentang alamat IP, Anda dapat menggunakan notasi CIDR atau karakter wildcard:
#Using CIDR notation Allow from 123.123.123.0/24 # Using wildcards Allow from 123.123.123.*
Kedua contoh di atas akan daftar putih semua alamat IP dari123.123.123.0
hingga123.123.123.255
. - Simpan & Uji : Setelah menambahkan arahan
Allow from
yang diperlukan, simpan file.htaccess
dan kemudian coba akses situs web Anda dari alamat IP yang sebelumnya diblokir. Sekarang seharusnya dapat diakses. - Hapus Cache Browser : Selalu bersihkan cache browser Anda atau gunakan jendela penyamaran/pribadi saat pengujian untuk memastikan Anda melihat perubahan terbaru.
Menggunakan iptables
:
Saya. Cadangkan aturan iptables saat ini : Sebelum melakukan perubahan apa pun, sebaiknya buat cadangan aturan iptables
Anda saat ini.
sudo iptables-save > /path/to/backupfile.txt
ii. Masukkan alamat IP ke daftar putih : Untuk mengizinkan semua lalu lintas dari alamat IP tertentu:
sudo iptables -A INPUT -s YOUR.IP.ADDRESS.HERE -j ACCEPT
Ganti YOUR.IP.ADDRESS.HERE
dengan alamat IP yang ingin Anda masukkan ke daftar putih.
aku aku aku. Simpan perubahan : Tergantung pada distribusi Anda, Anda mungkin menggunakan:
sudo service iptables save
Atau:
sudo iptables-save > /etc/sysconfig/iptables
Menggunakan ufw
:
Saya. Periksa apakah UFW terinstal : Jika belum, Anda dapat menginstalnya menggunakan manajer paket distribusi Anda, misalnya:
sudo apt install ufw # For Ubuntu/Debian sudo yum install ufw # For CentOS (might not be in the default repositories)
ii. Aktifkan UFW : Jika belum diaktifkan, Anda dapat mengaktifkan UFW dengan:
sudo ufw enable
aku aku aku. Masukkan alamat IP ke daftar putih : Untuk mengizinkan semua lalu lintas dari alamat IP tertentu:
sudo ufw allow from YOUR.IP.ADDRESS.HERE
Ganti YOUR.IP.ADDRESS.HERE
dengan alamat IP yang ingin Anda masukkan ke daftar putih.
iv. Verifikasi aturan : Anda dapat memeriksa aturan UFW dengan:
sudo ufw status
4. Carilah Dukungan Penyedia Hosting : Terkadang, menghubungi penyedia hosting Anda dapat membantu mengidentifikasi dan memperbaiki masalah khusus server.
Kesalahan Terkait
Untuk mengontekstualisasikan HTTP 403 lebih lanjut, pertimbangkan kode status HTTP terkait berikut:
- HTTP 401 (Tidak Sah) : Permintaan memerlukan otentikasi pengguna.
- HTTP 402 (Pembayaran Diperlukan) : Dicadangkan untuk penggunaan di masa mendatang, ini menyarankan pembayaran diperlukan.
- HTTP 404 (Tidak Ditemukan) : Sumber daya yang diminta tidak tersedia di server.
Sebagai penutup, memahami seluk-beluk kode status HTTP 403 “Terlarang” sangat penting untuk memastikan interaksi web yang optimal. Dengan tetap mendapat informasi dan proaktif, pengembang dan pengguna dapat mengatasi potensi kendala dan mempertahankan pengalaman web yang lancar.
Sebagai salah satu pendiri Codeless, saya menghadirkan keahlian dalam mengembangkan WordPress dan aplikasi web, serta rekam jejak dalam mengelola hosting dan server secara efektif. Semangat saya untuk memperoleh pengetahuan dan antusiasme saya untuk membangun dan menguji teknologi baru mendorong saya untuk terus berinovasi dan berkembang.
Keahlian:
Pengembangan web,
Desain web,
Administrasi Sistem Linux,
seo
Pengalaman:
Pengalaman 15 tahun dalam Pengembangan Web dengan mengembangkan dan merancang beberapa Tema WordPress paling populer seperti Specular, Tower, dan Folie.
Pendidikan:
Saya memiliki gelar di bidang Teknik Fisika dan MSC di bidang Ilmu Material dan Opto Elektronika.
Twitter, Linkedin