Otentikasi dasar menaruh kotak kata sandi milik peramban di depan sebuah jalur, sebelum aplikasi Anda tercapai. Ia pas sekali untuk situs uji, sebuah alat internal, atau kunci kedua pada wilayah pengelolaan.

Buat berkas kata sandinya

sudo apt-get install -y apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd sara      # -c creates; omit it to ADD
sudo chmod 640 /etc/nginx/.htpasswd
sudo chown root:www-data /etc/nginx/.htpasswd
-c menimpa berkasnya. Pakai sekali saja, dan jangan pernah lagi pada berkas yang sama, kalau tidak Anda baru saja menghapus semua akun lain di dalamnya.

Nginx

location /staging/ {
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

Apache dan LiteSpeed

AuthType Basic
AuthName "Restricted"
AuthUserFile /etc/nginx/.htpasswd
Require valid-user

Apa yang dilindunginya

  • Situs uji, dari mesin pencari dan dari pengunjung yang sekadar lewat.
  • Jalur pengelolaan, dari percobaan masuk otomatis, sebelum semua itu mencapai aplikasi Anda.
  • Apa pun yang ingin Anda tutup diam-diam tanpa menulis kode.

Apa yang tidak dilindunginya

  • Kerahasiaannya hanya sekuat TLS Anda. Lewat http, kata sandinya dikirim nyaris sebagai teks polos pada setiap permintaan.
  • Tak ada penguncian dan tak ada catatan siapa yang masuk - itu kata sandi bersama, bukan sebuah akun.
  • Ia merusak API dan webhook yang tak tahu harus mengirim kredensial. Kecualikan jalur-jalur itu secara tegas.
location /staging/api/webhook {
    auth_basic off;
}
Untuk situs uji, tambahkan juga add_header X-Robots-Tag "noindex, nofollow";. Otentikasi dasar sudah menahan perayap di luar; tajuk itu menahannya di luar indeks kalau suatu saat perlindungannya terlepas tanpa sengaja.