Dodatni sloj sigurnosti koji pomaže pri spriječavanju neovlaštenog pristupa WordPress administracijskom sučelju je jednostavna http autentifikacija pomoću korisničkog imena i lozinke.
Prvi korak je kreiranje /etc/nginx/.htpasswd datoteke (zamijenite /etc/nginx sa putanjoj do vaše nginx konfiguracije ako nije na toj lokaciji):
# sh -c "echo -n 'myusername:' >> /etc/nginx/.htpasswd"
# sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"
U drugom koraku openssl će vas pitati da unesete lozinku s potvrdom. Ove dvije naredbe će kreirati spomenutu datoteku ovakvog sadržaja:
myusername:$apr1$pMp6hPSS$NX5NXgLkdDuEdRJaK/TLb1
Ako želite koristiti druga korisnička imena, ponovite postupak i za njih.
Preostalo je još upotrijebiti tu datoteku za nginx autentifikaciju. U nginx.conf dodat ćemo slijedeći location blok:
location = /wp-login.php {
auth_basic "Authorized Access Only";
auth_basic_user_file /home/cromethr/web/crometeo.hr/.htpasswd;
<fastgi konfiguracija obavezno ide ovdje>
}
Navedeno će uzrokovati da se za svaki pristup adresi www.mywordpress.com/wp-login.php (kao i www.mywordpress.com/wp-admin budući da WordPress sve neprijavljene korisnike preusmjerava na wp-login.php ako pokušaju pristupiti bilo kojem dijelu wp-admin putanje) zahtijeva unos korsničkog imena i lozinke (iz prva dva koraka). Naravno da ovo korisničko ime i lozinka ne smiju biti istovjetni onima za prijavljivanje u sam WordPress, inače dodatna autentifikacija nema smisla.