Comment protéger la page avec un mot de passe dans Apache, Nginx, WordPress, hébergement?
Vous pouvez avoir une page sensible que vous souhaitez protéger avec le mot de passe. Ceci est également connu sous le nom d'authentification de base.
La bonne nouvelle est que c'est possible et c'est super facile.
Pourquoi protéger la page Web avec un mot de passe?
Eh bien, il pourrait y avoir de nombreuses raisons, y compris.
- Contiennent des données sensibles sur la page
- La page n'est pas prête et vous ne voulez pas la rendre visible publiquement mais la partager avec quelqu'un
WhateDans l’état actuel des choses, explorons comment vous pouvez vous protéger.
Exigence
Prenons un exemple; Je veux protéger /client
en laboratoire.geekflare.com, ce qui signifie que si quelqu'un accède https://lab.geekflare.com/client
devrait demander un mot de passe.
Apache
Commençons par Apache d'abord.
La première chose que nous devons créerate est un fichier de mots de passe dans lequel toutes les informations d'identification seront stockées. Le nom du fichier serait .htpasswd
et vous pouvez le placer n'importe où sur le serveur. je vais créerate il sous /etc/httpd/conf
dossier
- Vous pouvez créerate le fichier avec le
touch
commander
touch /etc/httpd/conf/.htpasswd
- Ajoutons l'utilisateur qui serait autorisé à accéder à / client. Nous devons utiliser
htpasswd
commande pour cela.
htpasswd /etc/httpd/conf/.htpasswd geekflare
- La dernière section geekflare, est le nom d'utilisateur. Changez cela avec ce que vous voulez et appuyez sur Entrée.
- Entrez le mot de passe et vous verrez une confirmation que l'utilisateur a été ajouté.
[root@lab html]# htpasswd /etc/httpd/conf/.htpasswd geekflare
New password:
Re-type new password:
Adding password for user geekflare
[root@lab html]#
Si vous écrivez le fichier, vous remarquerez que le mot de passe est stocké dans un format crypté. C'est bon!
[root@lab html]# cat /etc/httpd/conf/.htpasswd
geekflare:$apr1$EHvl0Bc5$nh4u0w3.Cj3wzPT7XUXqW1
[root@lab html]#
Ensuite, nous devons demander à Apache de protéger l'URI que nous voulons.
- Modifiez le fichier httpd.conf ou le fichier de configuration que vous utilisez pour l'instance Apache. J'utilise l'installation par défaut donc j'utilise /etc/httpd/conf/httpd.conf
- Ajoutez ce qui suit n'importe où dans le fichier
<Directory "/var/www/html/client">
Options Indexes FollowSymLinks
AuthType Basic
AuthName "Protected Content for Client"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
</Directory>
Si vous avez déjà /var/www/html/client
Directory directive, puis au lieu d'ajouter une nouvelle section, vous devez simplement ajouter ce qui suit dans la directive existante.
AuthType Basic
AuthName "Protected Content"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
- Redémarrez Apache
service httpd restart
- Essayez d'accéder à la page / client, et il devrait demander un mot de passe.
- Saisissez les informations d'identification que vous avez définies précédemment pour afficher le contenu.
Chic .htaccess méthode?
Bien sûr, vous pouvez implémenter l'authentification de base via .htaccess
fichier également. Vous devez toujours générerate informations d'identification en utilisant htpasswd
comme expliqué ci-dessus. Une fois terminé, vous pouvez ajouter ce qui suit dans le dossier respectif .htaccess
fichier.
AuthType Basic
AuthName "Protected Content"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
La beauté est que vous n'avez pas besoin de redémarrer Apache.
Nginx
Implémentons l'authentification de base dans Nginx en suivant.
Nous prendrons l'aide d'Apache Utils pour générerate les informations d'identification. Si Apache HTTP n'est pas installé sur le serveur, vous devez installer les utilitaires séparés.atecomme ci-dessous. En cas de doute, vous pouvez exécuter htpasswd
pour voir si cela fonctionne. Si ce n'est pas le cas, vous savez que vous devez l'installer.
CentOS / RHEL 8
dnf install httpd-tools
CentOS / RHEL 7
yum install httpd-tools
Ubuntu
apt-get install apache2-utils
- Créonsate les informations d'identification similaires à celles que nous avons faites dans Apache.
htpasswd -c /etc/nginx/.htpasswd chandan
- Ne pas oublier de remplacer Chandan avec le vrai nom d'utilisateur que vous voulez
Ensuite, nous devons configurer Nginx, de sorte qu'il limite l'URI particulier avec le mot de passe.
- Supposons que nous devons protéger
/admin
URI - Ajoutez ce qui suit dans
nginx.conf
ou tout autre fichier de configuration Nginx actif
location /admin {
auth_basic "Admin Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}
- Redémarrer Nginx
Que faire si vous devez restreindre la diffusion de l'ensemble du site Web via Nginx?
Facile!
Ajoutez ce qui suit dans nginx.conf ou dans le fichier de configuration actif sous location / {
directive
auth_basic "Admin Area";
auth_basic_user_file /etc/nginx/.htpasswd;
SiteGround
L'hébergement platla forme a évolué. Il y a beaucoup de platdes formulaires qui offrent des outils pratiques, et SiteGround en fait partie.
Si vous utilisez SiteGround pour héberger votre site Web, vous pouvez facilement protéger l'URL depuis leur console d'administration. Supposons que vous utilisez Outils de gestion et besoin de protéger /wp-admin
.
- Connectez-vous à SiteGround et accédez au site sur lequel vous devez activer l'authentification de base.
- Cliquez sur Sécurité >> URL protégées >> Utilisateurs
- Entrez le nom et le mot de passe pour créerate l'accréditation
Ensuite, nous protégerons wp-admin avec les informations d'identification que nous venons de créer.ated.
- Aller à l'onglet URL
- Entrez wp-admin dans le chemin et cliquez sur protéger
- Cliquez sur Gérer l'accès et attribuez l'utilisateur que vous venez de créer.ated
Essayez d'accéder à la page et SiteGround vous invitera à entrer les informations d'identification.
Facile, n'est-ce pas?
Outils de gestion
Vous utilisez WordPress et souhaitez protéger par mot de passe une publication, une page, etc.atesanglant, par rôle, ou sur l'ensemble du site ?
Sûr!
Découvrez PPTP (Plugin WordPress de protection par mot de passe)
Installez le plugin et configurez la manière dont vous souhaitez protéger les ressources WordPress. Cela fonctionne avec constructeurs de page comme Elementor, Divi, Beaver.
Alternativement, si vous avez besoin d'une simple publication ou d'une page protégée par mot de passe, vous pouvez profiter de la fonctionnalité WP intégrée. Vous n'avez besoin d'aucun plugin pour cela.
- Accédez à la publication ou à la page pour laquelle vous souhaitez activer un mot de passe.
- Dans la section de publication, cliquez sur Modifier à côté de la visibilité: Public
- Sélectionnez Mot de passe protégé et entrez le mot de passe.
- Cliquez sur OK et vous êtes prêt!
Besoin de plus de moyens pour sécuriser WordPress? Regarde ça guide.
cPanel
Si vous êtes sur l'hébergement mutualisé, alors vous aurez probablement cPanel. La bonne nouvelle est cPanel propose un utilitaire appelé Directory Privacy ; à partir de là, vous pouvez définir un mot de passe pour le répertoire.
- Connectez-vous à cPanel
- Rechercher la confidentialité de l'annuaire
- Sélectionnez le dossier que vous souhaitez protéger. Comme ci-dessous, j'ai sélectionné un dossier appelé Chandan, qui est sous public_html
- Create l'utilisateur qui doit être autorisé et enregistré
- Une fois terminé, vous remarquerez que le dossier a un verrou
Et c'est tout. Le répertoire est maintenant protégé par mot de passe. Comme vous pouvez le voir ci-dessus, j'ai testé sur Hébergement A2, et cela fonctionne très bien.
Conclusion
J'espère que ce qui précède vous aidera à protéger certains URI, dossier avec le mot de passe en utilisant l'authentification de base. Si vous recherchez une sécurité de site Web complète, vous devriez envisager de mettre en œuvre WAF.