HTTP 403 “Terlarang”: Penyebab, Cegah dan Perbaiki

Diterbitkan: 2023-09-01
Daftar isi
  • 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?

403-kesalahan terlarang

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:

  1. Izin Tidak Memadai : Pengguna mungkin tidak memiliki izin yang diperlukan untuk mengakses sumber daya tertentu di server.
  2. Batasan Geografis : Beberapa konten web mungkin dibatasi untuk pengguna dari wilayah atau negara tertentu.
  3. Pemblokiran IP : Server mungkin memblokir alamat IP tertentu karena masalah keamanan atau aktivitas mencurigakan sebelumnya.
  4. Aturan .htaccess yang Ketat : Aturan yang salah atau terlalu membatasi dalam file .htaccess di server Apache dapat menyebabkan kesalahan 403.
  5. 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:

  1. URL Tinjauan : Pastikan URL yang diakses benar dan tidak ada kesalahan ketik.
  2. Periksa Log Server : Log server dapat memberikan wawasan mengapa permintaan tertentu ditolak.
  3. 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:

  1. Tinjau Izin Secara Teratur : Periksa dan sesuaikan izin secara berkala untuk memastikan pengguna dapat mengakses sumber daya yang diperlukan.
  2. Perbarui .htaccess dengan hati-hati : Saat memodifikasi file .htaccess, lakukan dengan hati-hati dan selalu simpan cadangan.
  3. 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

  1. Cadangkan File .htaccess Anda : Selalu buat cadangan file .htaccess sebelum melakukan perubahan apa pun.
  2. 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.
  3. Perlindungan Kata Sandi : Jika direktori tertentu dilindungi kata sandi menggunakan AuthType , AuthName , AuthUserFile , dan Require , pastikan Anda memiliki kredensial yang benar untuk mengaksesnya. Jika Anda tidak menginginkan perlindungan kata sandi, Anda dapat mengomentari atau menghapus arahan ini.
  4. 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
    Izin yang salah, terutama untuk direktori, dapat menyebabkan kesalahan 403.
  5. Daftar Direktori : Jika Anda mencoba mengakses direktori yang tidak memiliki file indeks (seperti index.html atau index.php ) dan daftar direktori dinonaktifkan, Anda mungkin mendapatkan kesalahan 403. Anda dapat:
    • Tambahkan file indeks ke direktori.
    • Aktifkan daftar direktori dengan: Options +Indexes
  6. 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.
  7. 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.
  8. 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:

  1. 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 IP 123.123.123.123 yang diperbolehkan, dan semua IP lainnya ditolak.
  2. 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 Ganti YOUR.IP.ADDRESS.HERE dengan alamat IP yang ingin Anda masukkan ke daftar putih .
  3. 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
  4. 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 dari 123.123.123.0 hingga 123.123.123.255 .
  5. 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.
  6. 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:

  1. HTTP 401 (Tidak Sah) : Permintaan memerlukan otentikasi pengguna.
  2. HTTP 402 (Pembayaran Diperlukan) : Dicadangkan untuk penggunaan di masa mendatang, ini menyarankan pembayaran diperlukan.
  3. 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.