Cara kata laluan melindungi direktori web di Apache menggunakan .fail htaccess

Cara kata laluan melindungi direktori web di Apache menggunakan .fail htaccess

Apabila anda menguruskan projek dalam talian, anda sering perlu mengehadkan akses kepada projek itu untuk melindunginya daripada dunia luar. Mungkin ada sebab yang berbeza untuk itu - contohnya anda ingin mengelakkan crawler enjin carian daripada mengakses laman web anda semasa masih dalam fasa pembangunan.

Kata Laluan Lindungi Direktori Web Apache

Dalam tutorial ini, saya akan menunjukkan kepada anda cara kata laluan dilindungi direktori laman web yang berbeza di Apache pelayan web. Terdapat banyak cara anda dapat mencapai ini, tetapi kami akan mengkaji dua daripadanya yang paling biasa digunakan.

Kaedah pertama mengkonfigurasi perlindungan kata laluan secara langsung dalam fail konfigurasi Apache, sementara yang kedua menggunakan .Htaccess fail.

Keperluan

Untuk menyediakan perlindungan kata laluan untuk direktori web anda, anda perlu mempunyai:

  • Pelayan web Apache yang berfungsi
  • The Allowoverride AuthConfig Arahan mesti diaktifkan dalam fail konfigurasi Apache.

Persediaan direktori terlindung kata laluan Apache

1. Untuk tutorial ini, kami akan melindungi Direktori Root Web Utama /var/www/html.  Untuk melindungi direktori itu, buka konfigurasi Apache anda:

---------------- Pada Redhat/Centos Sistem berasaskan ---------------- # VI/ETC/HTTPD/CONF/HTTPD.conf ---------------- ON Debian/Ubuntu Sistem Berdasarkan ---------------- # Nano/etc/Apache2/Laman-tersedia/000-Lalai.Conf 

2. Cari root direktori dokumen Apache untuk /var/www/html Dan tambahkan perkara -perkara berikut seperti yang dicadangkan:

Pada Apache 2.2 versi

 Indeks Pilihan Termasuk Followsymlinks Multiviews AllowOverride Semua pesanan, menafikan Benarkan dari semua  

Pada Apache 2.4 versi

 Indeks Pilihan Termasuk MultiViews Followsymlinks AllowOverride Semua Memerlukan Semua Yang Diberikan  
Apache 2.4: Dayakan Allowoverride semua

3. Simpan fail dan mulakan semula Apache dengan menggunakan arahan berikut:

--------------- Pada Sistemd ------------------- # Systemctl mulakan semula httpd [on Topi merah sistem berasaskan] # Systemctl Mulakan semula Apache2 [ON Debian sistem berasaskan] --------------- pada SYSV INIT ----------------- # Perkhidmatan httpd mulakan semula [on Topi merah sistem berasaskan] # perkhidmatan apache2 mulakan semula [pada Debian sistem berasaskan] 

4. Sekarang kita akan menggunakan htpasswd Perintah untuk menjana nama pengguna dan kata laluan untuk direktori yang dilindungi kami. Perintah ini digunakan untuk menguruskan fail pengguna untuk pengesahan asas.

Sintaks umum arahan adalah:

# htpasswd -c nama pengguna fail 

The -c pilihan menentukan fail yang akan menyimpan kata laluan yang disulitkan dan nama pengguna Menentukan pengguna untuk pengesahan.

5. Fail kata laluan kami perlu ditempatkan di direktori web yang boleh diakses oleh Apache supaya dilindungi dengan baik. Untuk tujuan itu, kami akan membuat direktori baru:

# mkdir /home /tecmint 

6. Selepas itu kami akan menjana nama pengguna dan kata laluan kami yang akan disimpan dalam direktori itu:

# htpasswd -c/home/tecmint/webpass tecmint 

Sebaik sahaja anda melaksanakan arahan ini, anda perlu memasukkan kata laluan untuk pengguna baru kami "Tecmint" Dua kali:

Buat Kata Laluan Pengguna Apache

Selepas itu kita perlu memastikan bahawa Apache dapat membaca "Webpass"Fail. Untuk tujuan itu, anda perlu menukar pemilikan fail itu dengan arahan berikut:

---------------- Pada Redhat/Centos Sistem Berdasarkan ---------------- # Chown Apache:/Home/Tecmint/Webpass # Chmod 640/Home/Tecmint/Webpass 
---------------- Pada Debian/Ubuntu Sistem berasaskan ---------------- # Chown www-Data/Home/Tecmint/Webpass # Chmod 640/Home/Tecmint/Webpass 

7. Pada masa ini pengguna dan kata laluan baru kami sudah siap. Sekarang kita perlu memberitahu Apache untuk meminta kata laluan semasa mengakses direktori sasaran kami. Untuk tujuan itu, buat fail yang dipanggil .Htaccess dalam /var/www/html:

# vi/var/www/html/.Htaccess 

Tambahkan kod berikut di dalamnya:

AuthType asas authname "Akses Terhad" AuthuserFile/Home/Tecmint/Webpass Memerlukan Pengguna Tecmint 
Buat akses terhad Apache

8. Sekarang simpan fail dan letakkan persediaan anda ke ujian. Buka penyemak imbas anda dan masukkan alamat IP atau nama domain anda di pelayar web, contohnya:

http: // ip-address 

Anda harus diminta untuk nama pengguna dan kata laluan:

Pengesahan direktori terlindung kata laluan Apache

Masukkan nama pengguna dan kata laluan yang anda tetapkan untuk meneruskan ke halaman anda.

Nota tambahan

Sekiranya anda menggunakan hosting yang dikongsi, anda mungkin tidak mempunyai akses ke fail konfigurasi Apache. Walau bagaimanapun, kebanyakan syarikat hosting telah membolehkan "Allowoverride semua ” pilihan secara lalai. Ini bermaksud bahawa anda hanya perlu menjana nama pengguna dan kata laluan dan kemudian pilih direktori yang ingin anda lindungi. Ini memudahkan tugas anda dengan ketara.

Kesimpulan

Saya harap anda dapati tutorial ini berguna dan membantu anda mencapai matlamat anda. Sekiranya anda mempunyai sebarang pertanyaan atau komen, jangan ragu untuk menghantarnya di bahagian di bawah.