Protéger votre site Web par .htaccess

Si vous voulez protéger votre site Web afin qu’il ne soit accessible qu’à quelqu’un qui a un nom d’utilisateur et un mot de passe, vous pouvez le faire en utilisant .htaccess. Ce qui suit n’est qu’un exemple d’une façon de procéder.

Étape 1 : créer un fichier.htpasswd

Commencez par ouvrir un éditeur de texte et ajoutez une ligne contenant votre nom d’utilisateur et votre mot de passe, séparés par deux points. Le mot de passe devra être chiffré dans un format spécial qui peut être utilisé pour la protection par mot de passe htaccess. Sous Linux, vous pouvez utiliser l’outil htpasswd outil d’apache2-utils pour le faire. Et il existe de nombreux outils en ligne pour vous aider à le faire, comme celui ci.

Le contenu de votre .htpasswd ressemblera à ce qui suit (ceci est un EXEMPLE ; le vôtre aura votre propre nom d’utilisateur et mot de passe) :

ryan:oeteHNuwJnH7k

Ensuite, enregistrez votre fichier sous .htpasswd et déposez le (en utilisant ASCII``et non ``BINARY) sur votre instance dans le répertoire vhosts/ correspondant à votre site (ne le mettez pas dans le dossier htdocs/ !), comme ceci :

/srv/data/web/vhosts/www.mysite.com/.htpasswd

Étape 2 : créer un fichier.htaccess

Toujours dans un éditeur de texte, ajoutez du contenu comme ce qui suit :

AuthUserFile /srv/data/web/vhosts/yourvirtalhostname/.htpasswd
AuthName "Password Protected Area"
AuthType Basic

<limit GET POST>
require valid-user
</limit>

Assurez-vous d’éditer la ligne AuthUserFile pour correspondre au chemin absolu de votre fichier .htpasswd.

Vous pouvez personnaliser l’invite du mot de passe en changeant ce qui suit AuthName.

Vous pouvez ensuite déposer ce fichier dans le répertoire à protéger. Le fichier `.htaccess sera appliqué sur le répertoire dans lequel il se trouve, ainsi que sur tous les sous-répertoires.

Par exemple, vous pouvez le placer à la racine de votre virtualhost pour protéger l’ensemble du site :

/srv/data/web/vhosts/www.mysite.com/htdocs

ou dans un répertoire particulier pour le protéger (et tout ce qu’il contient) :

/srv/data/web/vhosts/www.mysite.com/htdocs/myprivatestuff/