{"id":25911,"date":"2026-10-09T10:00:00","date_gmt":"2026-10-09T08:00:00","guid":{"rendered":"https:\/\/soccorsowp.it\/blog\/?p=25911"},"modified":"2026-10-09T10:00:00","modified_gmt":"2026-10-09T08:00:00","slug":"proteggere-pagina-login-wordpress-sicurezza","status":"publish","type":"post","link":"https:\/\/soccorsowp.it\/blog\/proteggere-pagina-login-wordpress-sicurezza\/","title":{"rendered":"Come proteggere la pagina di login di WordPress: guida completa"},"content":{"rendered":"<h1>Come proteggere la pagina di login di WordPress: guida completa<\/h1>\n<p>La pagina di login (<span style=\"font-family: monospace\">wp-login.php<\/span>) \u00e8 il <strong>punto di ingresso principale<\/strong> per il pannello di amministrazione di <a href=\"https:\/\/soccorsowp.it\/blog\/blocco-di-contenuti-opt-in-per-wordpress\/\">WordPress<\/a>. \u00c8 anche il bersaglio preferito degli attaccanti: bot automatizzati tentano migliaia di combinazioni di username e password ogni giorno su siti WordPress di tutto il mondo. Proteggere questa pagina \u00e8 una delle misure di sicurezza pi\u00f9 importanti che puoi adottare.<\/p>\n<h2>Perch\u00e9 la pagina di login \u00e8 un bersaglio<\/h2>\n<p>Tutti i siti WordPress hanno la pagina di login allo stesso indirizzo: <span style=\"font-family: monospace\">\/wp-login.php<\/span> o <span style=\"font-family: monospace\">\/wp-admin\/<\/span>. Questo significa che un bot pu\u00f2 trovare automaticamente la pagina di login di qualsiasi sito WordPress senza fare alcuna ricognizione. I tipi di attacco pi\u00f9 comuni:<\/p>\n<ul>\n<li><strong>Brute force:<\/strong> il bot prova migliaia di combinazioni di username e password usando dizionari di password comuni.<\/li>\n<li><strong>Credential stuffing:<\/strong> il bot usa credenziali rubate da altri siti (data breach) sperando che l&#8217;utente usi la stessa password.<\/li>\n<li><strong>Enumerazione utenti:<\/strong> il bot scopre gli username validi tramite <span style=\"font-family: monospace\">?author=1<\/span> o la REST API, poi concentra l&#8217;attacco su quegli account.<\/li>\n<\/ul>\n<h2>Limitare i tentativi di login<\/h2>\n<p>La prima difesa \u00e8 <strong>limitare il numero di tentativi di login falliti<\/strong> da un singolo indirizzo IP. Dopo un certo numero di tentativi sbagliati, l&#8217;IP viene bloccato temporaneamente.<\/p>\n<p>Plugin consigliati:<\/p>\n<ul>\n<li><strong>Limit Login Attempts Reloaded:<\/strong> semplice ed efficace. Configura 3-4 tentativi massimi, lockout di 20 minuti al primo blocco e 24 ore dopo 4 blocchi.<\/li>\n<li><strong>Wordfence:<\/strong> include la limitazione dei tentativi tra le sue funzionalit\u00e0 di sicurezza, insieme a firewall e scanner malware.<\/li>\n<li><strong>Login LockDown:<\/strong> alternativa leggera che registra gli IP e i tentativi falliti.<\/li>\n<\/ul>\n<h2>Cambiare l&#8217;URL della pagina di login<\/h2>\n<p>Se i bot non trovano la pagina di login, non possono attaccarla. Cambiare l&#8217;URL da <span style=\"font-family: monospace\">\/wp-login.php<\/span> a qualcosa di personalizzato (es. <span style=\"font-family: monospace\">\/accesso-riservato<\/span>) blocca la maggior parte degli attacchi automatizzati.<\/p>\n<p>Il plugin <strong>WPS Hide Login<\/strong> \u00e8 il pi\u00f9 semplice per farlo:<\/p>\n<ol>\n<li>Installa e attiva WPS Hide Login.<\/li>\n<li>Vai su <strong>Impostazioni \u2192 Generali<\/strong>, scorri in fondo.<\/li>\n<li>Nel campo &#8220;URL di login&#8221;, inserisci il nuovo percorso (es. <span style=\"font-family: monospace\">accesso-riservato<\/span>).<\/li>\n<li>Salva. Da ora, <span style=\"font-family: monospace\">\/wp-login.php<\/span> restituir\u00e0 un errore 404.<\/li>\n<\/ol>\n<p><strong>Importante:<\/strong> segna il nuovo URL in un posto sicuro. Se lo dimentichi, puoi disattivare il plugin rinominando la sua cartella via FTP.<\/p>\n<h2>Attivare l&#8217;autenticazione a due fattori (2FA)<\/h2>\n<p>Il <strong>2FA<\/strong> aggiunge un secondo livello di protezione: anche se un attaccante indovina la password, non potr\u00e0 accedere senza il codice temporaneo generato dal tuo telefono.<\/p>\n<p>Plugin consigliati:<\/p>\n<ul>\n<li><strong>WP 2FA:<\/strong> supporta Google Authenticator, Authy e codici di backup. Interfaccia semplice e possibilit\u00e0 di forzare il 2FA per tutti gli utenti.<\/li>\n<li><strong>Two Factor Authentication:<\/strong> supporta TOTP (app authenticator), email e codici di backup.<\/li>\n<li><strong>Wordfence Login Security:<\/strong> modulo gratuito separato da Wordfence che aggiunge 2FA e CAPTCHA al login.<\/li>\n<\/ul>\n<p>Come minimo, attiva il 2FA per tutti gli account con ruolo <strong>Amministratore<\/strong> e <strong>Editor<\/strong>.<\/p>\n<h2>Aggiungere un CAPTCHA al login<\/h2>\n<p>Un <strong>CAPTCHA<\/strong> blocca i bot automatizzati costringendoli a risolvere una sfida che solo un umano pu\u00f2 completare. Le opzioni principali:<\/p>\n<ul>\n<li><strong>Google reCAPTCHA v3:<\/strong> invisibile agli utenti, assegna un punteggio di &#8220;umanit\u00e0&#8221; senza interazione. Il plugin <strong>Advanced Google reCAPTCHA<\/strong> lo integra facilmente.<\/li>\n<li><strong>hCaptcha:<\/strong> alternativa privacy-friendly a Google reCAPTCHA. Il plugin <strong>hCaptcha for WordPress<\/strong> lo integra nel login.<\/li>\n<li><strong><a href=\"https:\/\/soccorsowp.it\/blog\/5-consigli-per-velocizzare-il-tuo-sito-web-wordpress-da-subito\/\">Cloudflare<\/a> Turnstile:<\/strong> il CAPTCHA di Cloudflare, gratuito e rispettoso della <a href=\"https:\/\/soccorsowp.it\/blog\/automattic-e-beeper-unalleanza-per-rivoluzionare-la-messaggistica\/\">privacy.<\/a><\/li>\n<\/ul>\n<h2>Proteggere wp-login.php a livello server<\/h2>\n<p>Per una protezione aggiuntiva, puoi aggiungere un&#8217;autenticazione HTTP a livello server. Questo crea un <strong>doppio login<\/strong>: prima l&#8217;autenticazione del server, poi quella di WordPress.<\/p>\n<p><strong>Per Apache (.htaccess):<\/strong><\/p>\n<ol>\n<li>Crea un file <span style=\"font-family: monospace\">.htpasswd<\/span> fuori dalla document root con le credenziali.<\/li>\n<li>Aggiungi al <span style=\"font-family: monospace\">.htaccess<\/span>:<\/li>\n<\/ol>\n<pre>&lt;Files wp-login.php&gt;\nAuthType Basic\nAuthName \"Area Riservata\"\nAuthUserFile \/percorso\/.htpasswd\nRequire valid-user\n&lt;\/Files&gt;<\/pre>\n<p><strong>Per Nginx:<\/strong><\/p>\n<pre>location = \/wp-login.php {\n    auth_basic \"Area Riservata\";\n    auth_basic_user_file \/percorso\/.htpasswd;\n    include fastcgi_params;\n    fastcgi_pass php-fpm;\n}<\/pre>\n<h2>Bloccare l&#8217;enumerazione degli utenti<\/h2>\n<p>Per impedire ai bot di scoprire gli username validi:<\/p>\n<ul>\n<li><strong>Blocca le query author:<\/strong> aggiungi al functions.php del tema uno snippet che reindirizza le richieste <span style=\"font-family: monospace\">?author=N<\/span> alla homepage.<\/li>\n<li><strong>Limita la REST API:<\/strong> il plugin <strong>Disable REST API for Non-Admins<\/strong> nasconde gli endpoint utente della REST API ai visitatori non autenticati.<\/li>\n<li><strong>Usa un nickname diverso dal login:<\/strong> in Utenti \u2192 Il tuo profilo, imposta il &#8220;Nome visualizzato pubblicamente&#8221; diverso dall&#8217;username di login.<\/li>\n<\/ul>\n<h2>Checklist di sicurezza per il login<\/h2>\n<p>Riassumendo, ecco le misure da implementare in ordine di priorit\u00e0:<\/p>\n<ol>\n<li><strong>Password forte<\/strong> (16+ caratteri, unica per ogni sito).<\/li>\n<li><strong>Limitazione tentativi di login<\/strong> (plugin Limit Login Attempts).<\/li>\n<li><strong>2FA attivo<\/strong> per tutti gli amministratori.<\/li>\n<li><strong>URL login personalizzato<\/strong> (WPS Hide Login).<\/li>\n<li><strong>CAPTCHA<\/strong> sulla pagina di login.<\/li>\n<li><strong>Protezione HTTP Auth<\/strong> a livello server (per siti ad alto rischio).<\/li>\n<li><strong>Blocco enumerazione utenti.<\/strong><\/li>\n<\/ol>\n<h2>Serve assistenza?<\/h2>\n<p>Se il tuo sito WordPress subisce attacchi al login o vuoi implementare tutte le misure di protezione senza rischiare di bloccarti fuori, il team di <strong>SoccorsoWP<\/strong> pu\u00f2 configurare tutto per te. <a href=\"https:\/\/soccorsowp.it\/ticket\/\">Apri un ticket<\/a> e blinda l&#8217;accesso al tuo WordPress.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come proteggere la pagina di login di WordPress: guida completa La pagina di login (wp-login.php) \u00e8 il punto di ingresso principale per il pannello di&#8230;<\/p>\n","protected":false},"author":1,"featured_media":25912,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"Proteggere la pagina di login WordPress: guida completa alla","_seopress_titles_desc":"Come proteggere la pagina di login di WordPress: limitare tentativi, cambiare URL, 2FA, CAPTCHA, protezione server e blocco enumerazione utenti.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","footnotes":""},"categories":[1700],"tags":[],"class_list":["post-25911","post","type-post","status-publish","format-standard","has-post-thumbnail","category-sicurezza-wordpress"],"_links":{"self":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/comments?post=25911"}],"version-history":[{"count":1,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25911\/revisions"}],"predecessor-version":[{"id":30822,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25911\/revisions\/30822"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/media\/25912"}],"wp:attachment":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/media?parent=25911"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/categories?post=25911"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/tags?post=25911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}