Deskripsi: Mengontrol host mana yang dapat mengakses area server Sintaks: Izinkan dari semua|host|env=env-variable [host|env=env-variable] ...
Konteks: direktori, .htaccess
Cakupan: Batas
Status: Basis
Modul: mod_access
Direktif Izinkan mempengaruhi host mana yang dapat mengakses area server. Akses dapat dikontrol menggunakan karakteristik permintaan klien yang ditangkap dalam nama host, alamat IP, rentang alamat IP, atau variabel lingkungan lainnya.
Parameter pertama direktif ini selalu dari. Parameter selanjutnya dapat mengambil tiga bentuk berbeda. Jika Izinkan dari semua ditentukan, semua host diizinkan mengakses, sehingga arahan Deny dan Order harus dikonfigurasi seperti yang dibahas di bawah ini. Untuk mengizinkan hanya subset host atau grup host tertentu yang mengakses server, host dapat ditentukan dalam salah satu format berikut:
Nama domain (bagian)
Contoh: Izinkan dari Apache.org
Izinkan akses ke host yang namanya cocok atau diakhiri dengan string yang diberikan. Hanya komponen nama lengkap yang cocok, jadi contoh di atas akan cocok dengan foo.apache.org tetapi tidak dengan fooapache.org. Konfigurasi seperti itu akan menyebabkan server melakukan operasi pencarian nama domain terbalik pada alamat IP klien terlepas dari apakah direktif HostnameLookups menetapkan alamat IP lengkap
Izinkan akses dari satu alamat IP dari satu host.
Beberapa contoh alamat IP: Izinkan dari 10.1
1 hingga 3 byte pertama alamat IP digunakan untuk pembatasan subnet.
Contoh pasangan jaringan/mask: Izinkan dari 10.1.0.0/255.255.0.0
jaringan abcd, dan topeng wxyz. Untuk pembatasan subnet yang lebih tepat.
Jaringan/nnn Tidak ada contoh spesifikasi perutean intra-area: Izinkan dari 10.1.0.0/16
Mirip dengan kasus sebelumnya, kecuali topengnya terdiri dari nnn byte tingkat tinggi.
Perhatikan bahwa tiga contoh terakhir di atas cocok dengan kumpulan host yang sama persis.
Alamat IPv6 dan subnet IPv6 dapat ditentukan seperti ini:
Izinkan dari fe80::a00:20ff:fea7:ccea
Izinkan dari fe80::a00:20ff:fea7:ccea/10
Format parameter ketiga dari direktif Izinkan memungkinkan akses ke server yang ditentukan oleh ekstensi variabel lingkungan. Ketika Izinkan dari variabel env=env ditentukan, permintaan akses diizinkan jika variabel lingkungan variabel env ada. Menggunakan arahan yang diberikan oleh mod_setenvif, server menyediakan kemampuan untuk mengatur variabel lingkungan secara fleksibel berdasarkan permintaan klien. Oleh karena itu, arahan ini dapat digunakan untuk mengizinkan akses berdasarkan bidang seperti Agen-Pengguna (jenis browser), Perujuk, atau bidang header permintaan HTTP lainnya.
contoh:
SetEnvIf Agen-Pengguna ^KnockKnock/2.0 let_me_in
<Direktori /docroot>
Perintah Tolak, Izinkan
Tolak dari semua
Izinkan dari env=let_me_in
</Direktori>
Dalam hal ini, browser yang mengirimkan pengidentifikasi agen pengguna yang dimulai dengan KnockKnock/2.0 akan diizinkan mengakses, sementara semua browser lainnya akan diblokir.
Deskripsi instruksi Deny: Kontrol host mana yang dilarang mengakses server Sintaks: Deny from all|host|env=env-variable [host|env=env-variable] ...
Konteks: direktori, .htaccess
Cakupan: Batas
Status: Basis
Modul: mod_access
Arahan ini memungkinkan pembatasan akses ke server berdasarkan nama host, alamat IP, atau variabel lingkungan. Pengaturan parameter pada perintah Tolak sama persis dengan pengaturan pada perintah Izinkan.
Deskripsi instruksi pesanan: Mengontrol status akses default dan urutan evaluasi instruksi Izinkan dan Tolak.
Sintaks: Pemesanan pesanan
Nilai default: Pesanan Tolak, Izinkan
Konteks: direktori, .htaccess
Cakupan: Batas
Status: Basis
Modul: mod_access
Perintah Perintah mengontrol status akses default dan urutan evaluasi perintah Izinkan dan Tolak. Pemesanan adalah salah satu contoh berikut:
Tolak, Izinkan
Instruksi penolakan dievaluasi sebelum instruksi Izinkan. Semua akses diizinkan secara default. Setiap klien yang tidak cocok dengan arahan Tolak atau cocok dengan arahan Izinkan diizinkan untuk mengakses server.
Izinkan, Tolak
Direktif Allow dievaluasi sebelum direktif Deny. Semua akses dilarang secara default. Setiap klien yang tidak cocok dengan direktif Allow atau cocok dengan direktif Deny akan dilarang mengakses server.
Saling gagal
Hanya host yang muncul di daftar Izinkan dan bukan di daftar Tolak yang diizinkan mengakses. Pesanan ini memiliki efek yang sama dengan Pesanan Izinkan, Tolak, dan tidak digunakan lagi.
Kata kunci hanya dapat dipisahkan dengan koma; tidak boleh ada spasi di antara keduanya. Perhatikan bahwa setiap pernyataan direktif Izinkan dan Tolak akan dievaluasi dalam semua kasus.
Pada contoh di bawah, akses diperbolehkan ke semua host di domain Apache.org, sementara akses ke host lain ditolak.
Perintah Tolak, Izinkan
Tolak dari semua
Izinkan dari apache.org
Dalam contoh berikut, akses diperbolehkan untuk semua host di domain apache.org, kecuali untuk host yang terdapat di subdomain foo.apache.org, yang aksesnya ditolak. Semua host yang tidak berada dalam domain apache.org tidak diperbolehkan mengakses, karena status defaultnya adalah menolak akses ke server.
Perintah Izinkan, Tolak
Izinkan dari apache.org
Tolak dari foo.apache.org
Di sisi lain, jika direktif Order pada contoh sebelumnya diubah menjadi Deny,Allow, akses dari semua host akan diizinkan. Hal ini karena, terlepas dari urutan arahan sebenarnya dalam file konfigurasi, arahan Izinkan dari apache.org akan dievaluasi terakhir dan menimpa arahan Tolak sebelumnya dari foo.apache.org. Semua host yang tidak berada dalam domain Apache.org juga diperbolehkan mengakses karena status defaultnya telah diubah menjadi Allow.
Sekalipun tidak disertai instruksi Allow dan Deny, keberadaan instruksi Order akan mempengaruhi akses pada bagian tertentu dari server. Hal ini karena berdampak pada status akses default. Misalnya,
<Direktori /www>
Perintah Izinkan, Tolak
</Direktori>
Ini akan menonaktifkan semua akses ke direktori /www, karena status default akan disetel ke tolak.
Arahan Order mengontrol pemrosesan instruksi akses hanya dalam setiap segmen konfigurasi server. Artinya, misalnya, direktif Izinkan atau Tolak yang muncul di bagian <Lokasi> akan selalu dievaluasi setelah direktif Izinkan atau Tolak yang muncul di bagian <Direktori> atau file .htaccess, apa pun pengaturan di direktif Pesanan. Mengapa. Untuk detail tentang penggabungan bagian konfigurasi, lihat Cara kerja bagian Direktori, Lokasi, dan File.