Uno dei principali strumenti utilizzati dagli hacker che cercano di sfondare l’accesso ai nostri siti è quello di utilizzare software automatici che tentano infinite coppie di username e password sul nostro indirizzo di login standard “/wp-login.php”, il primo passo da compiere appena installiamo WordPress sul nostro sito è quello di inibire questo accesso.
Per farlo possiamo ricorrere ad una serie di comandi da aggiungere al nostro .htaccess sulla root di installazione di WordPress.
Questo è il codice che deve essere inserito in alto al nostro file .htaccess, incollatelo prima di ogni altro comando
la stringa “5Tq7gSFsfrce” è riportata come esempio, ricordate di utilizzare per ogni sito una stringa hash complessa e sempre diversa, almeno di 16 caratteri
[php]
# START Better WP Security
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^login/?$ /wp-login.php?5Tq7gSFsfrce [R,L]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^admin/?$ /wp-login.php?5Tq7gSFsfrce&redirect_to=/wp-admin/ [R,L]
RewriteRule ^admin/?$ /wp-admin/?5Tq7gSFsfrce [R,L]
RewriteRule ^register/?$ /wp-login.php?5Tq7gSFsfrce&action=register [R,L]
RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php
RewriteCond %{HTTP_REFERER} !^(.*)/wp-admin
RewriteCond %{HTTP_REFERER} !^(.*)/wp-login\.php
RewriteCond %{HTTP_REFERER} !^(.*)/login
RewriteCond %{HTTP_REFERER} !^(.*)/admin
RewriteCond %{HTTP_REFERER} !^(.*)/register
RewriteCond %{QUERY_STRING} !^5Tq7gSFsfrce
RewriteCond %{QUERY_STRING} !^action=logout
RewriteCond %{QUERY_STRING} !^action=rp
RewriteCond %{QUERY_STRING} !^action=register
RewriteCond %{QUERY_STRING} !^action=postpass
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^.*wp-admin/?|^.*wp-login\.php /404 [R,L]
RewriteCond %{QUERY_STRING} ^loggedout=true
RewriteRule ^.*$ /wp-login.php?5Tq7gSFsfrce [R,L]
</IfModule>
# END Better WP Security
[/php]
A questo punto per effettuare il login potrete utilizzare l’indirizzo “/login”, in quanto quello vecchio non sarà più accessibile