Tutoriel Vidéo HTML-CSS : Sécuriser avec .htpasswd

Dans ce tutoriel vidéo nous verrons comment limiter l'accès à un dossier spécifique en utilisant une technique simple à mettre en place : Le fichier .htpasswd.


Télécharger la vidéo
(Réservé aux premiums)


Après avoir appris sur Internet quoi de plus normal que de partager à son tour ? Passionné par le web depuis un peu plus de 5 ans maintenant j'aime partager mes compétences et mes découvertes avec les personnes qui ont cette même passion pour le web : Vous.

Vous aimerez aussi

Un effet 3D avec le CSS3

Un effet 3D avec le CSS3
6m

Dans ce tutoriel CSS3, nous allons apprendre comment simuler un effet...

Créer un site "One Page"

Créer un site "One Page"
1h23

Premier vrai tutoriel sur l'intégration d'une maquette HTML & CSS,de...

43 commentaires
Ajouter un commentaire

GarrisonMadeleine18 Il y a 2 ans Répondre

Houses and cars are expensive and not everybody is able to buy it. Nevertheless, <a href="http://bestfinance-blog.com ">loans</a> are invented to aid people in such kind of hard situations.

David.M Il y a 2 ans Répondre

Comment vous fait sur notepad++ pour qu'il y est une sorte de dictionnaire T9 svp ? Lorsque vous tapez quelque chose il vous propose directement le mot entier

houba Il y a 2 ans Répondre

Bonjour,

- Existe-il une façon de couper la connexion au fichier protégé autre que supp historique

- Le problème des balises <limit> existe-t-il sur serveur Apache qui ne reconnait que les pwd cryptés md5 ?

Merci de votre réponse


lion.mar Il y a 2 ans Répondre

Hello,

Depuis quand les .htpasswd ne marche pas sur mac, il suffit d'utiliser un navigateur de fichier qui ne cache pas les fichier commencant pas un point.

musicalitymaker Il y a 2 ans Répondre

Salut tous le monde,
Je utilise un mac et les fichiers .htpasswd il ne fonctionne pas. Est-ce que quel qu'un peut trouver un solution de sécouriser un doser du site web pour mac.

Merci de votre solutions en avance!

Hamza.Graph Il y a 2 ans Répondre

Salut Graphikart et merci pour ce tuto il marche chez moi mais j'arrive pas a me connecter mon serveur et freeoda

guillaume Il y a 2 ans Répondre

Salut Graphikart. Tuto hyper intéressant mais j'ai un beug... je suis sur mac, en local.
Je fais tout comme il faut (normalement) et ça ne marche pas... J'ai refais le tuto plein de fois et que dalle... Le navigateur ne veut pas accepter mes logins et mots de passes... Que faire?

alinovitch Il y a 2 ans Répondre

Bonjour
J'ai suivi le Tuto très clair comme toujours, par contre concernant les balises <limit>, j'ai trouve des sites qui expliquent qu'il ne faut pas les utiliser.
Ok donc si j'ai bien compris je dois retirer tout betement les balises <limit>
sans rien mettre a la place?
ce qui me donnerait :
AuthName "Page d'acces protégée"
AuthType Basic
AuthUserFile "/administration/gestion/admin/.htpasswd"
Require valid-user

C'est cela?
merci

nelcomp Il y a 2 ans Répondre

Bonjour Grafikart

Tout d'abord je voulais te remercier pour tes travaux en ligne.
Que Dieu te bénisse pour cela.
Je rencontre un souci avec l'implémentation de fichier .htaccess sur Free pourtant cela fonctionne bien quand je suis en localhost.
En fait, j'ai un espace perso sur free et quand je deploie mon fichier .htaccess,j'obtiens l'erreur suivante
"Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Apache/ProXad [Aug 9 2008 02:45:07] Server at trymenow.free.fr Port 80"


j'aimerai bien savoir si tu peux m'édifier là dessus

Merci d'avance

toubippc Il y a 3 ans Répondre

Re bonjour tout le monde,

loool, SAMY-HACKER, oui j ai deja creer se petit formulaire, et si tu lit plus haut tu verra que en fait l encryption utiliser par apache/php a l air differente que celle utilisée par l utilitaire de commande htpasswd fournie avec apache, le mot de passe generer n est par reconnu au final !

C est pour cela que je demande justement si il n y aurai pas un moyen d utiliser c est fameuse variable envoyer par un formulaire pour les placer en parametre a l execution du fichier htpasswd , et si oui comment ??
Le pied serai de pouvoir reprendre tout les login et mots de passes d une basse de donnée et de pouvoir automatiser cela, car effectivement comme YUL le dit : si on en a 200 a taper sa fait mal au doigt :0)

Voila merci

SAMY-HACKER Il y a 3 ans Répondre

Vous pouvez faire mieux que sa
dans le .htpasswd vous mettez seulement le pseudo et le mdp ex: SAMY-HACKER:0000
:), et vous pouvez aussi crypter le mdp en fesand une page web qui génère le mdp crypter comme cela : <p>
<?php
if (isset($_POST['login']) AND isset($_POST['pass']))
{
$login = $_POST['login'];
$pass_crypte = crypt($_POST['pass']); // On crypte le mot de passe

echo 'Ligne à copier dans le .htpasswd :<br />' . $login . ':' . $pass_crypte;
}

else // On n'a pas encore rempli le formulaire
{
?>
</p>

<p>Entrez votre login et votre mot de passe pour le crypter.</p>

<form method="post">
<p>
Login : <input type="text" name="login"><br />
Mot de passe : <input type="text" name="pass"><br /><br />

<input type="submit" value="Crypter !">
</p>
</form>

<?php
}
?>

toubippc Il y a 3 ans Répondre

Ben voila,
exactement , si tu dois tout te taper par commande c est chaud ,
y a suremement moyen de lancer les parametre (php par exemple) dans une boucle qui execute un fichier batch, c est le but de ma questions egalement, personne ??)

yul Il y a 3 ans Répondre

bonour,
bon tuto, simple et efficace.
Par contre il ne l'est pas si ton serveur est Apache, qui lui n'accepte que du htpasswd 'crypté'.

Comment peut t'on crypté un fichier contenant plus de 200 pass ???
merci

toubippc Il y a 3 ans Répondre

bonsoir,

un ptit up !
il ne me manque plus que cette information, et je trouve pas !
si il faut vraiment , je m inscrit, :p

toubippc Il y a 3 ans Répondre

re tout le monde,

ok, lool, ca a pas ete long,
J ai trouver comment crypter mon mot de passe en SHA1

rien ne change en htaccess ni aux niveaux du httpd.conf d apache
Il suffit de le specifer aux htpasswd

exemple de ligne avec mot de passe sha1 : User:{SHA}UqP5cyxm6YcTAz05Hph5gvu9M=

Pour ceux sous windows reprenez l utilitaire de votre serveur dans le dossier BIN qui se trouve dans le repertoire d installation de votre serveur

placer vous en ligne de commande dans le repertoire approprier:
cd c:\repertoire_du_serveur\bin

aparait la ligne d acceuil suivante ; c:\repertoire_du_serveur\bin>_
executer htpasswd en tapant simplement son nom a la suite pour obtenir l aide de la syntaxe de commande (voir comment ca marche): htpasswd

Mot de passe encryption par default MD5 :

htpasswd -c c:\le_nom_du_fichier.txt User

- le mot de passe vous sera demander par la suite , ou vous pouvez le specifier directement apres le nom d utilisateur (ici: User)

ceci le copiera dans le fichier .TXT que l on a choisis (c:\le_nom_du_fichier.txt )
avec le nom d utilisateur (ici: User)et le mot de passe crypter

sinon avec encryption sha1 :

htpasswd -c -s c:\le_nom_du_fichier.txt User

ceci a la meme fontion et cyptera le passe avec encryption SHA1

Ma question .... peut on automatiser se script, ou du moin creer un formulaire qui m aidera a crypter mon mot de passe (voir l inserer egalement dans un fichier txt ou htpasswd)
Car quand je cree un formulaire qui crypt betement un champ <input text> en SHA1 et que j insere celui ci dans le .htpasswd le mot de passe m est refuser, du moin pas reconnu sauf avec la technique ennoncer ici

toubippc Il y a 3 ans Répondre

Bonjour a tous,
effectivement, je suis en developpement d un site perso,
je rame un peu concernant l encryption des mot de passe du .htpasswd.

Plusieurs outils nous propose de crypter nos mots de passes, mais peu fonctionne, selon la version de serveur que l on a !

La fonction crypt est, parait il, propre a l unix
La fonction md5 est forcée par default sur les serveur apache ( windows ) a ce que j ai compris
Et il existe un troisieme type d encryption, se serait le SHA1

Pourrai tu nous eclairer sur ses point ?
Comment les crypter ?
Je sais qu il existe un utilitaire, htpasswd.exe sous windows, en ligne de commande qui nous permet le cryptage, et generalement present dans le dossier BIN du dossier d installation du serveur, mais comment forcer le type de cryptage ??

Commande par default:
%repertoire_du_htpasswd.exe%/htpasswd -c c:\exemple_le_fichier_txt nom_user pass

(la commande fait appel a htpasswd et demande de creer [-c] dans le fichier indiquer le nom d utilisateur et pass crypter en md5 (par default) )

Comment choisir le type de cryptage ?? (je comprend pas la syntaxe)

Serait il possible de l actionner dans un script php, qui insererai automatiquement les lignes a la suite de l autre directement dans le .htpasswd ou un formulaire qui pourrait y faire appel afin de crypter nos mot de passe avec l utilitaires dédiée a notre serveur ??

Merci a bientot

Twisted355 Il y a 3 ans Répondre

Salut , tuto très intéressent , cependant pour plus de sécuriser ne serais ce pas mieux de crypter ça feuille htpassword ?

Baxterio Il y a 3 ans Répondre

Bonjour !

Je vous déconseille d'utiliser <Limit GET ou POST> dans vos .htaccess car sur la plupart des serveurs
il y a une faille qui permet de bypasser les .htaccess utilisant <Limit>

Voici la fonction qui le permet :

function bypasshtaccess($host,$dir,$file){
set_time_limit(0);
$open = fsockopen($host, 80, $numretour, $messretour);
$retour = '';
if(!$open){
$retour .= "<p>La connexion via la socket a échouée.</p>";
$retour .= "<p>Code d'erreur: <b>$coderetoureur</b></p>";
$retour .= "<p>Message d'erreur: <b>$msgretoureur</b></p>";
die();
}
else{
fputs($open, "FAILLE /$dir/$file HTTP/1.1\r\n");
fputs($open, "Host: $host\r\n");
fputs($open, "\r\n");

while(!feof($open)){
$retour .= fgets($open, 4096);
}
}
return $retour;
}

echo bypasshtaccess('www.baxterio.com', 'htaccess', 'index.php');

Vous pouvez tester (c'est mon site), le .htaccess que j'ai mis est exactement pareil que celui proposer par le tuto.
Les acces pour entrer normalement :
login : baxterio
pass : test

C'est une fonction basique mais on peut tres bien améliorer ce script afin qu'il nous permette de naviguer normalement dans l'espace

protégé !

Voila donc n'utiliser surtout pas <limit> dans vos .htaccess.

Désolé de pourir ton tuto Grafikart mais le je me sentais obliger d'intervenir.
Sinon ton boulot est super ! continu !

Idhem Il y a 3 ans Répondre

Bonjour,
Je suis sur Mac os , je n'arrive pas a protéger par .htaccess . vous avez une idée??

cerise Il y a 3 ans Répondre

ohoh j'ai oublier de te dire merci tout tout pleins

cerise Il y a 3 ans Répondre

Un petit tuto trop génial



Jonathan Il y a 3 ans Répondre

Ok enfin je me suis fais un script de connexion en php ^^ pour le moment . Merci de ta reponse Grafik

Grafikart Il y a 3 ans Répondre

@Jonathan : Ils ne doivent pas accepter les .htaccess, le mieux serait de leur envoyer un mail.

Jonathan Il y a 3 ans Répondre

Moi j'ai un souçi ca me marche "500 Internal Server Error"

Je suis chez power-heberg.


Merci

Fred Il y a 3 ans Répondre

Hmmm on peux pas faire plus claire sur ce tuto => impec

Je savais d'jà l'faire mais j'aime bien matté tes tutos mtn lol, bref c'est tout bon quoi car même 1 réel débutant peux pas ce tromper avec tes cours lol !
Moi c'est le php mais faux vraiment que je prenne le temps de m'y collé hmmm lol

Merci quand même encore 6 bonne minutes de passé lol

Mousse Il y a 3 ans Répondre

En fait j'ai trouvé, c'etait trop bete! L'erreur vient de moi, dans le htaccess du dossier Modo, je n'avais pas changer l'url en le copiant du dossier Admin... T,T

Enfin bon, ça pourra peut être aider quelqu'un!

Mousse Il y a 3 ans Répondre

Bonjour, (désolé de poster une question après une question qui n'a pas encore de réponse)

Je voulais vous demander un truc interessant.
Je fais actuellement un siteweb en php qui accueillera 2 backoffices: une page admin pour ajouter des données dans la base de données, et une page moderateur qui permettra de valider ou non les commentaires laissés par les visiteurs sur les actualités.

J'ai fait deux pages séparées pour l'administration et la modération, avec dans chacune un login grace au htaccess (donc chaque page dans un dossier different).
Seulement quand je me connecte par exemple sur la page d'admin, je me logue avec le login Admin, je peux également visiter la page moderation sans que l'on me demande le login et mot de passe du moderateur. Et vis versa si je me connecte d'abord sur la page Moderation et que je vais ensuite sur la page Admin.

Le soucis c'est que les modérateurs ne doivent pas pouvoir aller sur la page d'administration.

Merci d'avance.

Tristan Il y a 3 ans Répondre

Mon hébergeur est Societeg.com
Lorsque je rentre mon mot de passe, il ne se passe rien
J'ai vérifié mais c'est le bon.
Que faire ?

tva55 Il y a 3 ans Répondre

Bonsoir
merci pour tous ses tutoriels très intéressant, une seule petite remarque dommage qu'il n'y en a pas plus lol.
merci encore

tuto-design Il y a 3 ans Répondre

salut moi sa ne marche pas j'ai fais exactement comme toi et pourtant quand je vais dans ma fenetre "Espace privée" rien ne se pase aucun mdp n'est demender comme fair en sachant que mon dofissier "site internet" et sur mon bureau

Jasse29 Il y a 3 ans Répondre

Bonjour,

De nouveau un tutoriel intéressant et bien réalisé. Moi, qui suis entrain de travailler sur un projet de site web (que je viens de mettre en ligne hier !!), il pourrait bien m'être utile.
Si vous pouviez continuer de faire des tutoriels sur la sécurisation d'un site web, je serais très intéressé.
Merci encore,

Jean-Sébastien

pokemaster45 Il y a 3 ans Répondre

@MIXNICO: moi aussi je suis chez olympe et est tu sur du chemin de ton .htpasswd a oui je me rappelle de se problème il faut que les mot de passe qui sont dans le .htpasswd soit hashé en md5 ou en sha1

swiss-power Il y a 3 ans Répondre

@JLou : un tutoriel vidéo d'un espace membre ça risque d'être chaud ^^

birout42 Il y a 3 ans Répondre

génial merci a toi pour ce nouveau tutoriel

JLou Il y a 3 ans Répondre

Par contre laisser son mot de passe en clair est dangereux pour la sécurité du site ^^
Normalement il est possible de crypter ses mots de passe avec la fonction crypt de php (voir ici : http://fr3.php.net/manual/fr/function.crypt.php ).
Sinon rien à redire bon tuto

Le prochain sera la continuité de celui la, un espace membre ? :D

Babou Il y a 3 ans Répondre

Très bien merci

Grafikart Il y a 3 ans Répondre

@MIXNICO : Je n'ai aucune info sur Olympe-Network, le mieux serait de les contacter directement

@Babou : Là la protection est mise sur toutes les pages du dossier administration. La protection décrite dans ce tutoriel a un effet sur tout le dossier et pas seulement sur les page index.html.

Babou Il y a 3 ans Répondre

Merci Et si on veux mettre une protection a sur plusieurs page dans le meme dossier, comment on fais ?

MIXNICO Il y a 3 ans Répondre

Olympe-Network c'est mon hébergeur

Grafikart Il y a 3 ans Répondre

Pour free je l'explique dans le tutoriel. Pour plus d'info ça se passe ici : http://www.aidoforum.com/tutoriaux-234-fichier-htaccess-chez-freefr.html

Babou Il y a 3 ans Répondre

Super tuto
Ca va remplacer l'espace membre avec les permissions que j'essaye de créer :D Merci c'est très très utile !

Grafikart Il y a 3 ans Répondre

En cas de problème essayait de donner un maximum d'info : Nom de l'hébergeur par exemple.

MIXNICO Il y a 3 ans Répondre

Bonjour,
J'ai un problème, quand je le test en local sa marche et sur le web sa m'indique que le mot de passe n'est pas bon ou l'utilisateur n'est pas bon

Laisser un commentaire

Si vous avez une question il est conseillé d'utiliser le forum si vous voulez une réponse sûre.