Introduction
La protection par mot de passe d’un dossier (HTTP Basic Authentication) empêche la consultation des fichiers via un navigateur en demandant un nom d’utilisateur et un mot de passe. cPanel propose une interface simplifiée (« Directory Privacy ») qui crée et gère automatiquement les fichiers .htaccess et .htpasswd. Si cette interface n’est pas disponible, vous pouvez reproduire le même mécanisme manuellement en éditant ces fichiers.
Références officielles : Directory Privacy — cPanel Documentation · htpasswd — Apache.
Prérequis
- Accès à votre compte cPanel. (Voir : Comment accéder à mon compte cPanel ?).
- Accès au Gestionnaire de fichiers (File Manager) dans cPanel ou un accès SSH / Terminal cPanel si vous préférez la ligne de commande.
- Connaître le chemin du dossier à protéger (par exemple
public_html/staging). - Afficher les fichiers cachés dans File Manager pour voir
.htaccess(voir : Afficher les fichiers cachés dans le Gestionnaire de fichiers cPanel). - Remarque : certains hébergeurs peuvent désactiver l’interface Directory Privacy — dans ce cas suivez la méthode manuelle ci‑dessous.
Méthode recommandée — Directory Privacy (interface cPanel)
Lorsque l’option est disponible, utilisez l’interface : elle automatise la création du fichier d’utilisateurs (.htpasswd) et l’écriture des directives dans .htaccess.
- Connectez‑vous à cPanel et ouvrez la section Files → Directory Privacy.
- Dans la liste, repérez et cliquez sur le dossier à protéger (ou utilisez Edit dans la colonne Actions).
- Cochez Password protect this directory (Protection par mot de passe), saisissez un nom lisible pour l’étiquette de la zone et cliquez Save.
- Dans la section de gestion des utilisateurs, créez un compte autorisé : saisissez un nom d’utilisateur et un mot de passe fort (ou utilisez le générateur intégré), puis Create / Save.
- Testez en ouvrant l’URL du dossier dans un navigateur en navigation privée : une fenêtre de connexion HTTP doit apparaître.
Points pratiques
- La protection s’applique au dossier choisi et à ses sous‑dossiers.
- Directory Privacy écrit (ou modifie)
.htaccesset crée un fichier.htpasswdsouvent placé dans un répertoire sécurisé du compte (chemin dépendant de l’hébergeur). - Si l’interface refuse la création d’un utilisateur, vérifiez et essayez d’ajuster temporairement les permissions du répertoire (par ex.
0700) puis créez l’utilisateur.
Note importante
Si votre site utilise déjà des règles de réécriture (WordPress, frameworks), ces règles dans .htaccess peuvent empêcher l’affichage de la demande d’authentification. Voir la section Dépannage ci‑dessous.
Méthode manuelle — créer .htpasswd et .htaccess
Utilisez cette méthode si l’interface Directory Privacy n’est pas disponible ou si vous souhaitez maîtriser précisément les fichiers.
1) Emplacement recommandé pour .htpasswd
Placez le fichier .htpasswd idéalement en dehors de l’arborescence publique (public_html) pour qu’il ne soit pas téléchargeable. Exemple de répertoire privé :
/home/ACCOUNTUSER/.htpasswds/mondossier/passwd
Remplacez ACCOUNTUSER par le nom du compte. Si vous ne pouvez pas sortir le fichier du webroot, protégez‑le ensuite par une règle Apache (voir la section Dépannage).
2) Créer le fichier .htpasswd
- Avec SSH ou Terminal cPanel : utilisez
htpasswd(outil fourni par Apache). Exemple :
L’optionhtpasswd -c /home/ACCOUNTUSER/.htpasswds/mondossier/passwd monuser-ccrée le fichier ; omettez‑la si vous ajoutez un utilisateur existant. La commande demande le mot de passe et enregistre la ligne chiffréemonuser:hashedpassword. - Sans SSH : créez localement un fichier texte contenant la (ou les) lignes chiffrées au format
user:hashet téléversez‑le via File Manager à l’emplacement choisi. Si vous ne savez pas générer le hash, utilisez le Terminal cPanel ou demandez au support.
htpasswd si vous n’avez pas d’accès SSH externe.3) Créer / modifier le fichier .htaccess dans le dossier à protéger
Dans le dossier web que vous voulez protéger (ex. public_html/staging), ajoutez ou modifiez .htaccess avec ces directives (exemple) :
AuthType Basic
AuthName "Zone protégée"
AuthUserFile /home/ACCOUNTUSER/.htpasswds/mondossier/passwd
Require valid-user
- AuthUserFile doit contenir le chemin absolu vers votre .htpasswd (remplacez ACCOUNTUSER et le chemin).
- Require valid-user autorise tous les comptes présents dans .htpasswd. Pour limiter à un seul utilisateur : Require user monuser.
.htaccess depuis File Manager. Activez l’affichage des fichiers cachés si nécessaire.4) Téléverser et vérifier
- Téléversez
.htpasswdà l’emplacement privé choisi et vérifiez les permissions (par exemple600pour le fichier). - Dans File Manager, ouvrez le dossier protégé et vérifiez que
.htaccesscontient bien les directives ci‑dessus. - Testez en navigation privée : accédez à
https://votre‑domaine.tld/staging/et vérifiez que la fenêtre d’authentification apparaît.
.htpasswd (si vous ne pouvez pas créer le fichier via Terminal).Conseils et limites
- La protection HTTP (Basic Auth) protège l’accès via navigateur HTTP/HTTPS. Elle ne protège pas les accès FTP/SFTP, l’accès direct par Web Disk ni l’accès au système de fichiers côté serveur.
- Placez
.htpasswden dehors du webroot quand c’est possible : c’est la meilleure pratique côté sécurité. - Sur certains serveurs (par ex. configurations LiteSpeed ou proxys inverses), une erreur 404 peut remplacer la réponse 401 attendue. Un contournement fréquent : créer une page
401.htmlet ajouterErrorDocument 401 /401.htmldans le.htaccessprotégé. - Si votre application utilise des règles
mod_rewrite(WordPress), placez les directives d’authentification au début du.htaccesspour qu’elles soient exécutées avant les réécritures.
Dépannage rapide
- La popup de connexion n’apparaît pas : videz le cache, testez en fenêtre privée. Vérifiez qu’un
.htaccesscontenant les directives d’auth existe dans le dossier ciblé. Recherchez d’autres.htaccessdans les parents qui pourraient rediriger ou proxifier les requêtes. - Impossible de créer un utilisateur via Directory Privacy : vérifiez les permissions et le propriétaire du dossier cible (essayez temporairement
0700) puis retentez. - Identifiants refusés : vérifiez le chemin de
AuthUserFile, que le fichier.htpasswdcontient bien l’utilisateur et que les permissions permettent au serveur web de lire le fichier. - 404 au lieu de 401 : ajoutez un fichier
401.htmlet la directiveErrorDocument 401 /401.htmldans le.htaccessprotégé. - Le fichier
.htpasswdest accessible publiquement : déplacez‑le en dehors depublic_html; sinon ajoutez dans le dossier racine public une protection pour ce fichier (Apache 2.4) :<Files ".htpasswd"> Require all denied </Files> - Test en ligne de commande (option avancée) :
La réponse HTTP doit renvoyer 401 si la protection est active (avant fourniture des identifiants) ou 200/302 après authentification correcte.curl -I --user monuser https://votre-domaine.tld/staging/
Liens internes utiles
- Comment accéder à mon compte cPanel ?
- Afficher les fichiers cachés dans le Gestionnaire de fichiers cPanel (utile pour voir
.htaccess). - Comment ajouter des fichiers sur mon espace d’hébergement web sur cPanel ?
Besoin d’aide ?
Si la protection ne fonctionne pas après ces vérifications, ouvrez un ticket en joignant : l’URL testée, le dossier protégé, la méthode utilisée (Directory Privacy ou manuelle) et des captures d’écran du contenu de votre .htaccess et du chemin AuthUserFile. Voir Comment contacter le support.
Documentation de référence
- Directory Privacy — cPanel & WHM Documentation
- Can I password-protect a directory using the cPanel interface? — cPanel Support
- htpasswd — Apache HTTP Server documentation
Documentation consultée le 17 octobre 2026. Les outils peuvent varier selon votre hébergement.