Tutorial - Proteggere una directory o l'interfaccia di amministrazione del tuo sito web con file .htaccess e .htpasswd
Questa guida ti mostra come proteggere una directory o l'accesso alla gestione del tuo sito Web tramite un'autenticazione con i file .htaccess e .htpasswd
Obiettivo
Questa guida ti mostra come impostare un'autenticazione "utente/password" per accedere a tutto o a parte del tuo sito Web tramite un browser.
utilizzando due file di configurazione (HTTP) Apache da inserire nello spazio FTP del tuo hosting Web:
- ".htaccess": per maggiori informazioni sulle funzionalità di questo file, consulta il nostro tutorial sulle "Operazioni realizzabili con un file ".htaccess".
- ".htpasswd": in aggiunta a questo tutorial, consulta la documentazione ufficiale Apache relativa a questo file.
Informazioni sull’amministrazione dei servizi OVHcloud e su come trovare l’assistenza appropriata
Durante l’utilizzo delle guide OVHcloud, tieni presente le seguenti condizioni:
- Le istruzioni mirano a fornire il maggior numero possibile di dettagli, ma non possono coprire tutti i casi d’uso individuali. Potrebbe essere necessario adattare le azioni descritte alle tue esigenze.
- L’ecosistema OVHcloud è progettato per garantire flessibilità e libertà di scelta. I clienti sono quindi responsabili della configurazione corretta e sicura dei propri servizi. Per evitare la perdita di dati, ti consigliamo vivamente di applicare strategie di backup a tutti i tuoi dati importanti.
- Le nostre guide e i nostri tutorial possono fare riferimento a software o servizi di terze parti in combinazione con le soluzioni OVHcloud. Il supporto tecnico fornito da OVHcloud non include la configurazione di sistemi o prodotti al di fuori della nostra responsabilità . Questo include, a titolo esemplificativo:
- Sistemi operativi e interfacce utente (Windows, Debian, Plesk, ecc.).
- Qualsiasi altro software di terze parti (client FTP, software di posta elettronica, ecc.).
- Servizi offerti da altri provider (DNS, API, interfacce utente, ecc.).
Per ricevere l’assistenza appropriata in caso di problemi, segui queste indicazioni:
- Cerchi una consulenza personalizzata o vuoi discutere di un argomento non trattato in dettaglio nella nostra documentazione?
Unisciti alla Community OVHcloud per cercare il tuo argomento e confrontarti con altri utenti. - Devi segnalare un incidente relativo al tuo servizio OVHcloud o riscontri difficoltà nello Spazio Cliente OVHcloud?
Crea una richiesta di supporto nel nostro centro assistenza. - Hai bisogno di assistenza professionale per il tuo progetto o di aiuto per attività al di fuori del nostro perimetro di supporto?
Visita il nostro portale dei partner per trovare esperti che conoscono le soluzioni OVHcloud. - Cerchi informazioni più dettagliate sui nostri livelli di supporto e sui Professional Services?
Visita le nostre pagine web sui livelli di supporto OVHcloud e sugli OVHcloud Professional Services.
Puoi partecipare al miglioramento della nostra documentazione:
- Vuoi condividere un feedback per migliorare una guida o segnalare informazioni insufficienti su una pagina specifica?
Utilizza i pulsanti "Questa pagina ti è stata utile?" in fondo alla pagina per farcelo sapere. - Vuoi proporre un aggiornamento concreto della documentazione?
Utilizza la funzione "Modifica questa pagina", disponibile in fondo alla pagina e nella barra laterale.
Questa guida ti mostra come proteggere una directory o l'accesso alla sezione amministratore del tuo sito Web tramite un'autenticazione con i file ".htaccess" e ".htpasswd".
Prerequisiti
- Disporre di una offerta di hosting Web
- Disporre delle credenziali di accesso a spazio FTP del tuo hosting
Procedura
La soluzione di sicurezza proposta è solo una delle possibilità tecniche.
Sappiate, ad esempio, che se utilizzate un Content Management System (CMS), esistono altre soluzioni di sicurezza.
Se utilizzi un CMS Wordpress, OVHcloud mette a disposizione anche una guida su come utilizzare il file htaccess con WordPress.
Per qualsiasi domanda relativa alla creazione, all'utilizzo o alla programmazione del tuo sito Web, il supporto OVHcloud non sarà in grado di fornirti assistenza su questi argomenti.
Per farlo, contatta la nostra Community di utenti o i nostri partner OVHcloud.
Per proteggere l'accesso a una directory o a una parte del tuo sito, ti spieghiamo i 4 step principali da effettuare:
- creare file "crypt.php", ".htaccess" e ".htpasswd"
- Genera password crittografate con il file "crypt.php"
- definire utenti e password crittografate con il file ".htpasswd"
- Configurare regole nel file ".htaccess" ed eliminare il file "crypt.php"
Gli step successivi per ottimizzare la sicurezza dei tuoi dati ospitati. Se i tuoi siti Web sono compatibili, ti consigliamo di utilizzare la versione più recente possibile di PHP.
Per modificare la versione di PHP sui tuoi siti Web, consulta la nostra guida "Hosting Web: ambiente, versione PHP, .ovhconfig". In effetti, gli script e le informazioni descritte in questa guida funzionano solo con un ambiente di esecuzione e una versione PHP recente.
In caso contrario, ti consigliamo di ottimizzare il tuo sito Web per renderlo compatibile prima di installare quello che seguirà . Questa operazione ridurrà ulteriormente il rischio di pirateria informatica attraverso falle di sicurezza.
Step 1: creare file "crypt.php", ".htaccess" e ".htpasswd"
Accedi a lo spazio di storage FTP del tuo hosting Web. Apri la "cartella di root" verso cui punta il tuo dominio.
Crea un file "crypt.php" in questa "cartella root".
Apri o crea la cartella per essere protetta dal tuo sito Web. Nel nostro esempio, si tratterà della cartella "admin". Crea in questa directory un file ".htpasswd" e un file ".htaccess".
Per utilizzare correttamente i file ".htaccess" e ".htpasswd", è necessario conoscere e rispettare queste regole:
- un solo file ".htaccess" e un solo file ".htpasswd" per directory o sottodirectory, per evitare conflitti tra file differenti ".htaccess" e ".htpasswd";
- i file ".htaccess" e ".htpasswd" sono invisibili agli utenti che visitano il tuo sito Web;
- le regole dichiarate in un file ".htaccess" si applicano all'intera directory in cui è installato il file ".htaccess", nonché a tutte le sottodirectory della stessa directory;
- i file ".htpasswd" e ".htaccess" possono trovarsi in cartelle diverse. Per più ".htaccess" può essere utilizzato un solo file ".htpasswd".
Step 2: completare il file "crypt.php"
Clicca sulla cartella root in cui hai creato il file "crypt.php". Clicca su Modifica e inserisci queste righe:
Sostituisci plain_text_password con la password in chiaro che vuoi cifrare.
Puoi adattare lo script in funzione del numero di password che desideri cifrare.
- Esempio in cui lo script PHP cifrerà 3 password in una sola operazione:
Sostituisci plain_text_password1, plain_text_password2 e plain_text_password3 con la password in chiaro che vuoi cifrare.
I due script di cui sopra utilizzano, alla data, il metodo di cifratura più sicuro tramite l'algoritmo bcrypt raccomandato da Apache.
Per maggiori informazioni sull'argomento, consulta la documentazione ufficiale Apache.
Se disponi di un hosting Pro, Performance, Agency, Agency Plus o Agency Max, collegati in SSH al tuo hosting Web. Scendete nella "directory" dove si trova il vostro script "crypt.php".
Per effettuare questa operazione, utilizza il comando SSH:
Sostituisci Name_of_your_root_folder con il nome della tua "cartella di root" per scendere dove si trova il tuo script "crypt.php".
Se, ad esempio, il tuo file "crypt.php" si trova in una sottocartella della tua "cartella di root", esegui questo comando SSH:
Sostituisci Name_of_your_root_folder con il nome della tua "cartella di root" e sub_folder con il nome della sottocartella in cui si trova il tuo script "crypt.php".
A questo punto, esegui il comando:
Per motivi di sicurezza, si raccomanda l'utilizzo di SSH. Tuttavia, se disponi di un'offerta Starter, Personale o Startup sulle quali l'SSH non è disponibile, puoi anche eseguire il file "crypt.php" tramite il tuo browser Web.
Inserisci questo URL: https://domain.tld/crypt.php en che modifica domain.tld con il tuo dominio. Direttamente nella barra degli indirizzi del browser.
Recupera le password cifrate senza copiare il "<br />" se esegui l'ordine "php crypt.php" in SSH:
I valori encrypted_password1, encrypted_password2 e encrypted_password3 devono, ad esempio, essere conformi al formato della riga seguente:
Verifica solo che la tua password crittografata inizi correttamente con $2y$. Questa operazione conferma che la tua password è stata cifrata con l'algoritmo sicuro *bcrypt.
Step 3: definire gli utenti e le password cifrate con il file ".htpasswd"
Il file ".htpasswd" contiene le rispettive password cifrate a ciascuno degli utenti dichiarati nel file. Sono solo questi utenti che saranno autorizzati a connettersi alla directory di cui vuoi proteggere l'accesso.
Per farlo, per ogni utente in questo file, inserisci una riga che indica il suo identificativo e la password cifrata:
Sostituisci user1, user2 e user3 del nostro esempio con i nomi degli utenti.
Sostituisci encrypted_password1, encrypted_password2 e encrypted_password3 con le password precedentemente recuperate.
Step 4: configurare le regole nel file ".htaccess"
Blocca l'accesso a una directory completa
Nella directory da proteggere, crea un file ".htaccess" con questo codice:
Nello script di cui sopra, sostituisci questi elementi con i tuoi valori:
"Indicates your login(s)": corrisponde all'utente o agli utenti autorizzati ad accedere alla directory completa. Se hai più utenti, separali solo per via spazio.your_ftp_login: il login FTP che utilizzi per accedere al tuo spazio di archiviazione FTP. Per recuperare il tuo login FTP, consulta la nostra guida sulla connessione al tuo spazio FTP.root_folder/admin/.htpasswd: percorso di accesso directory dalla root FTP del tuo hosting web al file ".htpasswd" che deve essere utilizzato per autenticare gli utenti autorizzati dalla regola presente nel tuo file ".htaccess".
Blocca l'accesso a uno o più file
Per bloccare l'accesso a uno o più file, aggiungi una direttiva "Files" nel file ".htaccess":
Nello script di cui sopra, sostituisci questi elementi con i tuoi valori:
test.php: nome del file specifico o gruppo di file contenente, nel nostro esempio, il termine test.php (termine per il quale si applica la restrizione di accesso)."Indicates your login(s)": corrisponde all'utente o agli utenti autorizzati ad accedere ai file i cui nomi contengono test.php. Se hai più utenti, separali per un spazio.your_ftp_login: il login FTP che utilizzi per accedere al tuo spazio di archiviazione FTP. Per recuperare il tuo login FTP, consulta la nostra guida sulla connessione al tuo spazio FTP.root_folder/admin/.htpasswd: percorso di accesso directory della radice FTP del tuo hosting web fino al file ".htpasswd" che deve essere utilizzato per autenticare gli utenti autorizzati dalla direttiva del file ".htaccess".
Inserisci una direttiva "Files" per ogni file da proteggere.
Le direttive "Files" si applicano a tutti i file con lo stesso nome o che terminano con il nome specificato. A condizione che siano contenuti nella stessa directory del.htaccess o in una delle sue sottocartelle.
Nella configurazione sopraindicata, poiché "new_test.php" contiene test.php nel suo nome, la direttiva "Files" si applicherebbe anche su un file "new_test.php" contenuto in una sottodirectory della cartella "admin".
Inoltre, fino a quando non vi sarà autenticato per accedere ai file oggetto della direttiva, questi possono non apparire e non essere quindi "leggibili" tramite una pagina "index of".
Una volta completata l'installazione dei tuoi file ".htaccess" e ".htpasswd", elimina il file di crittografia "crypt.php" dal tuo hosting Web.
Per saperne di più
Documentazione ufficiale Apache
Accedere allo spazio FTP del tuo hosting Web
Tutorial - Operazioni realizzabili con un file ".htaccess"
Bloccare l'accesso al mio sito per alcuni indirizzi IP tramite un file.htaccess
Riscrivere l'URL di accesso al mio sito grazie al mod_rewrite via file.htaccess
Per prestazioni specializzate (referenziamento, sviluppo, ecc...), contatta i partner OVHcloud.
Per usufruire di un supporto per l'utilizzo e la configurazione delle soluzioni OVHcloud, è possibile consultare le nostre soluzioni offerte di supporto.
Contatta la nostra Community di utenti.