Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coppa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Come limitare l’accesso per IP al file wp-login.php in WordPress

Volete limitare l’accesso per indirizzo IP al vostro file wp-login.php in WordPress?

La pagina di login di WordPress viene spesso attaccata da attacchi DDoS e hacker per ottenere l’accesso al vostro sito web. Limitare l’accesso a indirizzi IP specifici può bloccare efficacemente questi tentativi.

In questo articolo vi mostreremo come limitare facilmente l’accesso per IP al file wp-login.php di WordPress.

How to Limit Access by IP to Your wp-login file in WordPress

Perché limitare l’accesso a wp-login.php per indirizzo IP?

La pagina di login di un sito WordPress (in genere, wp-login.php) è il luogo in cui gli utenti accedono al sito.

Come proprietario di un sito web, vi dà accesso all’ area di amministrazione di WordPress, dove potete eseguire la manutenzione del sito, scrivere contenuti e gestire il vostro sito web.

Tuttavia, gli attacchi brute force più comuni su Internet sono noti per colpire la pagina wp-login.php per ottenere l’accesso ai siti web. Anche se non riescono a entrare, possono comunque rallentare il vostro sito web o addirittura mandarlo in crash.

Un modo per affrontare questa situazione è bloccare gli indirizzi IP da cui provengono gli attacchi (ne parleremo più avanti nell’articolo).

Un indirizzo IP è come un numero di telefono che identifica un computer specifico su Internet. Gli hacker possono utilizzare un software per cambiare l’indirizzo IP.

Tuttavia, gli attacchi più sofisticati utilizzano un pool di indirizzi IP più ampio e potrebbe non essere possibile bloccarli tutti.

In questo caso, è possibile limitare l’accesso a indirizzi IP specifici utilizzati da voi stessi e da altri utenti del vostro sito web.

Detto questo, vediamo come limitare facilmente l’accesso al file wp-login.php da parte di indirizzi IP specifici utilizzando 3 modi diversi, tra cui il firewall di sicurezza cloud.

1. Limitare l’accesso alla pagina di login di WordPress per indirizzo IP

Per questo metodo, è necessario aggiungere del codice al file .htaccess.

Il file .htaccess è uno speciale file di configurazione del server che si trova nella cartella principale del vostro sito web ed è accessibile tramite FTP o l’applicazione File Manager del vostro pannello di controllo dell’hosting WordPress.

È sufficiente collegarsi al sito WordPress utilizzando un client FTP e modificare il file .htaccess aggiungendo il seguente codice all’inizio.

<Files wp-login.php>
        order deny,allow
        Deny from all
 
# whitelist Your own IP address
allow from xx.xxx.xx.xx
 
#whitelist some other user's IP Address
allow from xx.xxx.xx.xx
 
</Files>

Non dimenticate di sostituire gli XX con i vostri indirizzi IP. È possibile trovare facilmente il proprio indirizzo IP visitando la pagina SupportAlly.

SupportAlly

Se avete altri utenti che devono accedere al vostro sito web, potete chiedere loro di fornire i loro indirizzi IP. Potete quindi aggiungere anche questi al file .htaccess.

Ecco un altro esempio del codice sopra citato.

<Files wp-login.php>
        order deny,allow
        Deny from all
 
# Whitelist John as website administrator
allow from 35.199.128.0
 
#Whitelist Tina as Editor 
allow from 108.59.80.0

# Whitelist Ali as moderator
allow from 216.239.32.0
 
</Files>

Ora, gli utenti con questi indirizzi IP potranno visualizzare il file wp-login.php e accedere al sito web. Gli altri utenti vedranno il seguente messaggio di errore:

Forbidden error

2. Blocco di indirizzi IP specifici per l’accesso al vostro sito web

Questo metodo è totalmente opposto al primo.

Invece di limitare l’accesso alla pagina di login di WordPress a indirizzi IP specifici, sarete in grado di bloccare gli indirizzi IP utilizzati per attaccare il vostro sito web.

Questo metodo è particolarmente utile per i siti di membership WordPress, i negozi di e-commerce o altri siti web in cui più utenti devono effettuare il login per accedere ai loro account.

Lo svantaggio di questo metodo è che gli hacker possono cambiare indirizzo IP e continuare ad attaccare il vostro sito web.

Fortunatamente, molti dei comuni tentativi di hacking di WordPress utilizzano un insieme fisso di indirizzi IP, il che rende questo metodo efficace nella maggior parte dei casi.

Fase 1: Individuazione degli indirizzi IP offensivi da bloccare

In primo luogo, è necessario individuare gli indirizzi IP utilizzati per attaccare il vostro sito web.

Il modo più semplice per trovare gli indirizzi IP incriminati è esaminare i log del server. Basta accedere al pannello di controllo del proprio account di hosting e fare clic sull’icona dei registri “Raw Access”.

Raw access logs

Nella pagina successiva, fare clic sul nome del dominio per scaricare i registri di accesso. Verrà scaricato un file con estensione gz.

È necessario estrarre il file e aprirlo con un editor di testo come Notepad o TextEdit.

Da qui si troveranno gli indirizzi IP che si collegano ripetutamente alla pagina wp-login.php.

Finding IP addresses attacking your website

Copiare e incollare gli indirizzi IP in un file di testo separato sul computer.

Passo 2. Blocco degli indirizzi IP sospetti

Successivamente, è necessario accedere al pannello di controllo dell’hosting WordPress e fare clic sull’icona “Blocco IP”.

IP blocker app in hosting control panel

Nella schermata successiva, è sufficiente copiare e incollare gli indirizzi IP che si desidera bloccare e fare clic sul pulsante “Aggiungi”.

Block IP address

Ripetete la procedura per bloccare qualsiasi altro indirizzo IP sospetto.

È tutto! Siete riusciti a bloccare completamente gli indirizzi IP sospetti dall’accesso al vostro sito web.

In seguito, se è necessario sbloccare uno di questi indirizzi IP, è possibile farlo semplicemente dall’app di blocco IP.

Unblock IP addresses

3. Protezione dell’accesso a WordPress con il Firewall del sito web

In qualità di amministratore di un sito web, potreste non voler dedicare troppo tempo alla gestione degli indirizzi IP che possono accedere alla pagina di login di WordPress.

Il modo più semplice per proteggere le pagine di login di WordPress è utilizzare Sucuri. Si tratta del miglior firewall per WordPress che accompagna un plugin completo per la sicurezza di WordPress.

Il firewall per siti web di Sucuri filtra automaticamente gli indirizzi IP sospetti dall’accesso a importanti file core di WordPress senza che questi raggiungano mai il vostro sito web.

How website firewall blocks attacks

Questo metodo migliora anche le prestazioni e la velocità di WordPress, in quanto blocca le attività sospette che rallentano il server.

Inoltre, Sucuri è dotato di una rete CDN integrata. Questa rete serve automaticamente file statici come immagini, fogli di stile e JavaScript da un server più vicino ai vostri utenti.

È possibile inserire facilmente nella whitelist gli indirizzi IP degli utenti che non possono accedere alle pagine di login di WordPress.

Whitelist IP address

Alternative: MalCare o Cloudflare Free CDN

Speriamo che questo articolo vi abbia aiutato a capire come limitare l’accesso per indirizzo IP al vostro file wp-login.php. Potreste anche voler consultare la nostra guida completa alla sicurezza di WordPress o vedere questi ulteriori consigli per proteggere l’area di amministrazione di WordPress.

Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.

Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come WPBeginner è finanziato , perché è importante e come puoi sostenerci. Ecco il nostro processo editoriale .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Il kit di strumenti WordPress definitivo

Ottenete l'accesso gratuito al nostro kit di strumenti - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Reader Interactions

26 commentiLascia una risposta

  1. Jiří Vaněk

    I copied the directives to the website, adjusted the IP addresses, and placed them in the .htaccess file. It works perfectly for both IP addresses that are now set in the .htaccess.

  2. Av

    in regards to a woocommerce site, is this function useful?
    login can be done from my-account page.

    • WPBeginner Support

      If you have multiple users logging in to your site for something like WooCommerce then this would not be something you would use. This would normally be for a site with a limited number of users.

      Admin

  3. Michael Pepper

    Thanks for the article, helpful!

    • WPBeginner Support

      Glad our article was helpful :)

      Admin

  4. Mick

    For some reason when I use this the whitelisted ip is blocked too.

    any idea why?

    • WPBeginner Support

      You may want to ensure you set the correct IP and if you are using a VPN or something similar that may be the root of the issue

      Admin

  5. Bahar Ali

    I used the above code and it somehow apply’s to every page of the site for example my home even shows prohibited.

    • WPBeginner Support

      You may first want to check with your hosting provider to ensure there isn’t a conflicting setup on their end.

      Admin

  6. Unni Krishnan

    Good One guys,
    As you stated in the last section, I do have dynamic IPs for my mobile connection. Though I have white listed my Broadband IP, getting stuck while accessing on the go.
    Do you know if any plugins help to solve this ?

    • Unni Krishnan

      Also, such requests to wp-login.php are getting redirected to the homepage. Is this normal ?

  7. FrancescoElzy

    Hmm it seems like your blog ate my first comment (it was super long) so I guess I’ll just sum it up what I wrote and say, I’m thoroughly enjoying your blog. I too am an aspiring blog blogger but I’m still new to the whole thing. Do you have any helpful hints for newbie blog writers? I’d genuinely appreciate it.

  8. Stéfano Willig

    We have made our ftp accessable only by certain IP.
    Now I can’t install or update wordpress directly via wordpress…
    What can I do?

  9. Jobbatam

    Great tips and works for me.
    But, Can i redirect wp-login to error 404?
    If can, what code i add into code above?

    thanks

  10. MargaretMacnamar

    It’s very simple to find out any matter on net as compared to textbooks, as I found this post at this website.

  11. EQHRaymond

    Thank you for the function. Post aided me a whole lot

  12. Rex Wickham

    If you want to add more than one IP you can do this:

    1. you can use a partial IP:

    Allow from 145.50.39

    This will allow IP from 145.50.39.0 to 145.50.39.255

    2. you can use a netmask or a CIDR:

    Allow from 145.50.39.0/255.255.255.224

    or

    Allow from 145.50.39.0/27

    This will allow IP from 145.50.39.0 to 145.50.39.31.

    • Julius Musembi

      This is a great workaround.

  13. David Swanson

    I added the code to my .htaccess but when my users logout they receive Error 403.
    When they click logout the link is /wp-login.php?action=logout

    Anyway to fix this?

  14. Brijesh

    Great Tip! But i got a problem. It locks admin login from others ips, but if a registered user sign out from site, code also restricts that. I mean when user click sign out, it gives forbidden message. How to solve it?

  15. Rafaqat

    Thanks for your quick guideline to protect from excessive and illegal log in attempts. Actually there is a free plugin “better wp security” that can manage nearly all security issues regarding,login attempts,wp.config file,.htaccess file and many more. I think one should give it a try.

  16. Kris

    To get around the dynamic IP issue you can reference an htpasswd.

  17. Baptiste Legrand

    Thanks for this great tip ! But i’m a but confused : should I paste this snippet in my root .htacess file, or into my wordpress/.htaccess file ?

    Cheers (and btw, I just LOVE wpbegginer.com, keep up the good work !)

  18. Editorial Staff

    With dynamic IPs this can be a pain. You can set Apache Protect on it, but that is a bit more complex. #whitelist line is just to let me know which IP is which.

    Admin

    • Steve Pringle

      You should mention that plugins (like JetPack) may have issues when you limit access.

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tenga presente che tutti i commenti sono moderati in base alle nostre politica dei commenti e il suo indirizzo e-mail NON sarà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avremo una conversazione personale e significativa.