Mot de passe protéger un répertoire et tous ses sous-dossiers à l'aide .htaccess
Je suis en train de mot de passe protéger un sous-domaine et tous ses sous-répertoires et les fichiers, mais mes connaissances en la matière sont très limitées, comment puis-je faire?
Note 1: Si vous êtes en utilisant cPanel, vous devez configurer dans la section sécurité "Mot de passe Protéger les Répertoires"
EDIT: Si cela ne fonctionnait pas, alors probablement que vous devez faire un AllowOverride All dans le répertoire de l' .htaccess (ou au moins pour les précédents) dans http.conf suivie par un apache restart
<Directory /path/to/the/directory/of/htaccess>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
Donc, dois-je les mettre à la fois le .htaccess fichier et le .htpasswd fichiers dans le sudomain du répertoire? Ou dois-je mettre la .htpasswd fichier à l'intérieur du répertoire que je veux protéger et le .htaccess dans le sous-domaine de répertoire? vous avez besoin de mettre la .htaccess dans le répertoire où vous devez protéger. donc, ici, dans le sous-domaine de répertoire. et .htpasswd dans le répertoire de n'importe où avec des autorisations appropriées, qui est indiquée dans AuthUserFile Je vais formuler autrement: mettre la .htpasswd dans un répertoire qui n'est pas exposée sur le web en aucune façon (protégé ou non), il est disponible à l'apache. A travaillé comme un charme, même si je n'ai pas utilisé l'une de ces options dans mon http.conf, juste le AllowOverride All. (En fait, il n'y a pas plus http.conf; Apache utilise maintenant un fichier distinct pour chaque site dans les sites-annuaire disponible).
De mot de passe protéger un répertoire servi par Apache, vous avez besoin d'un .htaccess dans le répertoire que vous souhaitez protéger et de un .un fichier htpasswd qui peut être n'importe où sur votre système que l'utilisateur Apache peut accéder (mais le mettre quelque part sensible et privé). Vous probablement ne voulez pas mettre .htpasswd dans le même dossier que .htaccess.
L' .fichier htaccess peuvent déjà exister. Si pas, créez-la. Ensuite, insérer:
Puis créer un .un fichier htpasswd utilisant n'importe quel nom d'utilisateur et le mot de passe que vous voulez. Le mot de passe doit être chiffré. Si vous êtes sur un serveur Linux, vous pouvez utiliser le htpasswd de commande qui permet de chiffrer le mot de passe pour vous. Voici comment cette commande peut être utilisé pour cela:
Vous auriez probablement souhaitez utiliser le mod_auth_digest module. Apache a fourni une très belle guide à l'aide de la gamme complète de l'authentification et de l'autorisation des modules.
Check this out: "Ce module implémente l'Authentification HTTP Digest (RFC2617), et fournit une solution de rechange pour le module mod_auth_basic où le mot de passe n'est pas transmis en clair. Toutefois, cela ne conduit pas à un important avantage de sécurité sur l'authentification de base. D'autre part, le stockage de mot de passe sur le serveur est beaucoup moins sécurisé avec authentification digest qu'avec l'authentification de base. Par conséquent, l'utilisation de base d'authentification et le cryptage de l'ensemble de la connexion à l'aide de mod_ssl est une bien meilleure alternative." merci pour la correction. Je vais laisser le post comme un avertissement pour l'avenir.
Vous avez besoin de générer un mot de passe (nom d'utilisateur+mot de passe) chaîne de caractères pour l'authentification, l'écrire dans un fichier et de le placer à l'intérieur de la sous-répertoire que vous souhaitez restreindre l'accès.
Copiez et collez la chaîne que vous avez obtenu à partir du site ci-dessus dans un nouveau fichier (.htpasswd) n'importe où en dehors de votre site racine de votre site (il est mieux de garder n'importe où dans le répertoire home de l'utilisateur).
Ajouter les lignes suivantes dans votre .fichier htaccess.
Si le mot de passe n'est pas le déclenchement, vérifier la permission de .fichier htaccess.
Si l'authentification échoue, vérifier l'existence d' .un fichier htpasswd dans l'emplacement spécifié. (Assurez-vous que votre compte d'utilisateur dispose des privilèges suffisants .un fichier htpasswd à lire)
Vous n'avez pas besoin de redémarrer le serveur pour atteindre cet objectif.
S'il vous plaît laissez-moi savoir si vous avez des questions.
Pour créer un bon mot de passe, vous pouvez créer un fichier php et de l'exécuter en local (sur votre ordinateur, pas sur le serveur) avec le contenu suivant:
J'ai l'habitude de mettre mon .un fichier htpasswd dans un répertoire appelé /htpasswd/à l'extérieur du répertoire webcontent, comme AuthUserFile /home/www/usr122/files/htpasswd/.sportsbar_reports_htpasswd (et pas dans le dossier webcontent /home/www/usr122/html/htpasswd/) et de le renommer .un fichier htpasswd pour ce qu'elle est, par exemple, .sportsbar_reports_htpasswd
Le fichier de mot de passe lui-même devrait ressembler à
testusername:dGATwCk0tMgfM
où le nom d'utilisateur est testusername et le mot de passe est testuserpassword
C'est un simple processus en deux étapes
Dans votre .htaccess mettre
utilisation http://www.htaccesstools.com/htpasswd-generator/ ou ligne de commande pour générer le mot de passe
et le mettre dans le .htpasswd
Note 1: Si vous êtes en utilisant cPanel, vous devez configurer dans la section sécurité "Mot de passe Protéger les Répertoires"
EDIT: Si cela ne fonctionnait pas, alors probablement que vous devez faire un
AllowOverride All
dans le répertoire de l' .htaccess (ou au moins pour les précédents) dans http.conf suivie par un apache restart.htaccess
fichier et le.htpasswd
fichiers dans le sudomain du répertoire? Ou dois-je mettre la.htpasswd
fichier à l'intérieur du répertoire que je veux protéger et le.htaccess
dans le sous-domaine de répertoire?vous avez besoin de mettre la .htaccess dans le répertoire où vous devez protéger. donc, ici, dans le sous-domaine de répertoire. et .htpasswd dans le répertoire de n'importe où avec des autorisations appropriées, qui est indiquée dans AuthUserFile
Je vais formuler autrement: mettre la .htpasswd dans un répertoire qui n'est pas exposée sur le web en aucune façon (protégé ou non), il est disponible à l'apache.
A travaillé comme un charme, même si je n'ai pas utilisé l'une de ces options dans mon http.conf, juste le
AllowOverride All
. (En fait, il n'y a pas plus http.conf; Apache utilise maintenant un fichier distinct pour chaque site dans les sites-annuaire disponible).OriginalL'auteur Mahesh
De mot de passe protéger un répertoire servi par Apache, vous avez besoin d'un .htaccess dans le répertoire que vous souhaitez protéger et de un .un fichier htpasswd qui peut être n'importe où sur votre système que l'utilisateur Apache peut accéder (mais le mettre quelque part sensible et privé). Vous probablement ne voulez pas mettre
.htpasswd
dans le même dossier que.htaccess
.L' .fichier htaccess peuvent déjà exister. Si pas, créez-la. Ensuite, insérer:
Puis créer un .un fichier htpasswd utilisant n'importe quel nom d'utilisateur et le mot de passe que vous voulez. Le mot de passe doit être chiffré. Si vous êtes sur un serveur Linux, vous pouvez utiliser le htpasswd de commande qui permet de chiffrer le mot de passe pour vous. Voici comment cette commande peut être utilisé pour cela:
htpasswd -b /path/to/password/file username password
OriginalL'auteur Reflexorozy
Vous auriez probablement souhaitez utiliser lemod_auth_digest
module. Apache a fourni une très belle guide à l'aide de la gamme complète de l'authentification et de l'autorisation des modules.merci pour la correction. Je vais laisser le post comme un avertissement pour l'avenir.
OriginalL'auteur sarnold
Vous avez besoin de générer un mot de passe (nom d'utilisateur+mot de passe) chaîne de caractères pour l'authentification, l'écrire dans un fichier et de le placer à l'intérieur de la sous-répertoire que vous souhaitez restreindre l'accès.
Chaîne ressemble,
Si le mot de passe n'est pas le déclenchement, vérifier la permission de .fichier htaccess.
Si l'authentification échoue, vérifier l'existence d' .un fichier htpasswd dans l'emplacement spécifié. (Assurez-vous que votre compte d'utilisateur dispose des privilèges suffisants .un fichier htpasswd à lire)
Vous n'avez pas besoin de redémarrer le serveur pour atteindre cet objectif.
S'il vous plaît laissez-moi savoir si vous avez des questions.
OriginalL'auteur Deepak R
Pour créer un bon mot de passe, vous pouvez créer un fichier php et de l'exécuter en local (sur votre ordinateur, pas sur le serveur) avec le contenu suivant:
J'ai l'habitude de mettre mon .un fichier htpasswd dans un répertoire appelé /htpasswd/à l'extérieur du répertoire webcontent, comme
AuthUserFile /home/www/usr122/files/htpasswd/.sportsbar_reports_htpasswd
(et pas dans le dossier webcontent/home/www/usr122/html/htpasswd/
) et de le renommer .un fichier htpasswd pour ce qu'elle est, par exemple,.sportsbar_reports_htpasswd
Le fichier de mot de passe lui-même devrait ressembler à
où le nom d'utilisateur est
testusername
et le mot de passe esttestuserpassword
OriginalL'auteur ddlab