TUTO PHP - Sécuriser du contenu avec .htpasswd


Même si ce n'est pas a proprement parler du PHP que nous allons utiliser dans ce tuto, il nous sera utile pour créer nos fichiers de configuration de serveur Apache afin de sécuriser du contenu tel que des dossiers ou des fichiers seuls.

Protéger un fichier avec htpasswd

  • .htaccess
<FilesMatch "admin.php">
   AuthName "Ceci est du contenu securise"
   AuthType Basic
   AuthUserFile "I:\wamp\www\protege\securise\.htpasswd"
   Require valid-user
</FilesMatch>
  • securise/.htpasswd
pseudo:motdepasse
  • admin.php
Ceci est la page d'administration !

Protéger un dossier avec htpasswd

  • dossier_securise/.htaccess
AuthName "Ceci est du contenu securise"
AuthType Basic
AuthUserFile "I:\wamp\www\protege\securise\.htpasswd"
Require valid-user
  • dossier_securise/.htpasswd
pseudo:motdepasse

A savoir

Il faut obligatoirement indiquer le chemin absolu vers le fichier .htpasswd qu'il est possible de récupérer en utilisant la fonction realpath() de PHP.

Dans le fichier .htpasswd, si le pseudo doit être écrit sans être encrypté ou haché, ce n'est pas le cas du mot de passe qui lui doit être crypté soit via la fonction crypt() de PHP, soit en utilisant un générateur de fichier .htpasswd comme celui-ci (les algorithmes de cryptage utilisés pour former les mots de passe destinés aux .htpasswd diffèrent en fonction des serveurs, systèmes d'exploitations, versions de PHP, etc.).

A propos de l'auteur

PrimFX
PrimFX

Salut tout le monde ! Je m'appelle Boris, j'ai 18 ans et je suis passionné d'informatique et de technologie. Je partage cette passion à travers mes vidéos que tu peux retrouver sur YouTube sous le nom de PrimFX ou bien sur ce site bien sûr (tutoriels de programmation (HTML, CSS, PHP), gameplays, vlogs high-tech...). @+

A voir aussi

10 Commentaires

POSTER UN COMMENTAIRE

Vous devez être connecté pour pouvoir poster un commentaire...

Pas encore de compte ? Créez-en un ici !



  • Photo de profil de Sosobou17

    Sosobou17

    15 October 2016 à 14:33

    Merci primfx

  • Photo de profil de Sosobou17

    Sosobou17

    15 October 2016 à 14:46

    Merci primfx

  • Photo de profil de Dinars

    Dinars

    05 January 2017 à 19:26

    Bonjour, après avoir suivi votre tuto, mes fichiers .httpacess et .httppassword n'ont pas l'air de fonctionner sous Wamp. Merci de m'expliquer

  • Photo de profil de gabyramb

    gabyramb

    16 January 2017 à 18:09

    Bonjour,

    Dans le tuto 3 "Miniatures" la fonction 'exif_imagetype' ne fonctionne pas dans mon EasyPhp.

    Bravo quand même si la locution est un peu trop rapide pour bien suivre.

  • Photo de profil de JulesFX

    JulesFX

    18 January 2018 à 00:57

    Super tutoriel !

  • Photo de profil de Samet

    Samet

    05 July 2019 à 22:31

    Très utile, perso j'utilise ce système pour ma page d'administration. 



    Continue comme ca @PrimFx

  • Photo de profil de Samet

    Samet

    05 July 2019 à 22:31

    Très utile, perso j'utilise ce système pour ma page d'administration. 



    Continue comme ca @PrimFx

  • Photo de profil de Samet

    Samet

    05 July 2019 à 22:31

    Très utile, perso j'utilise ce système pour ma page d'administration. 



    Continue comme ca @PrimFx

  • Photo de profil de bilbil

    bilbil

    19 October 2019 à 23:21

    bonjour a tous

    cela ne marche pas pour moi.Je suis sur un raspberrypi et mon site est sur un disque dur connecté et monté au/sur raspberry.

    Quand je fait ma page php pour avoir le chemin absolu,voila ce que j'obtient:

    /media/blackbox/monsite/ncv/admin.php

    le contenu de mon .htaccess

    <FilesMatch "coucou.php">

    AuthName "Ceci est du contenu securise"

    AuthType Basic

    AuthUserFile "/media/blackbox/monsite/ncv/.htpasswd"

    Require valid-user

    </FilesMatch>

    Si vous avez une piste ,je suis preneur

    d'avance merci

  • Photo de profil de bilbil

    bilbil

    23 October 2019 à 19:13

    Bonjour à tous

    Ayant trouver la solution ,je me répond à moi méme si ça peut en aider d'autre.Je suis sur un raspberry et un serveur APACHE.Par défaut les fichier .htaccess sont désactivé et il faut aller dans la config d'apache.En mode console sur le raspberry il faut taper la commande:

    sudo nano /etc/apache2/apache2.conf

    Puis, cherchez les lignes :

    AllowOverride None

    Et remplacez-les par

    AllowOverride All

    Voila ça marche bien pour moi,merci a primefx pour tout ce travail grace auquel j ai creer le moteur de mon site.(espace membre,creation d'article,recuperation d un mot de passe,creation d un espace d'administration et pour finir la securisation de cet espace administration).Ce que j'aime avec ces tutu c'est que cela n'est pas du tout cuit et il faut adapter et personnaliser ce qui m'a pousser a chercher et a apprendre un minimum le php et mysql.En tout cas merci pour ce travail.Maintenant que le moteur du site est fait je vais m'attaquer à la carrosserie.Je vais voir le CSS.

    A bientot peut etre on sait jamais