IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

ajouter un utilisateur et un mot de passe dans un fichier .htpassword


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut ajouter un utilisateur et un mot de passe dans un fichier .htpassword
    Bonjour,


    J'aimerais que lorsqu'une personne s'inscrit sur le formulaire et qu'il remplit le mot de passe.
    Le mot de passe et le nom de l'utilisateur s'inscrive dans le fichier .htpassword.
    Si quelqu'un pouvait m'aider, merci

    Bonne journée

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 381
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    On utilise plutôt un système d'authentification par session avec enregistrement des identifiants en bdd pour créer ce genre de fonctionnalités.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut ajouter un utilisateur et un mot de passe dans un fichier .htpassword
    mais j'ai n système d'authentification pour l'espace membre avec des login et mot de passe dans la base de données mais pour porteger les documents j'ai utilisé .htaccess et .htpassword...

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 381
    Points : 10 410
    Points
    10 410
    Par défaut
    Tu peux protéger tes documents (photos pdf etc) dans un répertoire avec .htaccess et les faire afficher ou les proposer en téléchargement avec php avec des header uniquement pour les membres authentifiés. Cela t'éviteras la problématique du .htpassword qui est trivial mais pas convivial ni pratique à administrer.

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut ajouter un utilisateur et un mot de passe dans un fichier .htpassword
    Oui ça à l'air bien ceci comment je dois procéder pour les proposer en telechargement avec des header uniquement pour les membres?

    C'est une condition If {} else ..?

    Bonne journée

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 381
    Points : 10 410
    Points
    10 410
    Par défaut
    Bah oui tu déclare une variable de session lors de l'authentification, par exemple $_SESSION['login'], et tu t'en sert pour autoriser ou non le téléchargement d'un fichier qui est situé dans un dossier protégé par un .htaccess (qui contient la mention "deny from all").

    Tu as un exemple de téléchargement ici. Donc le code php de ta boite de téléchargement pourrait être :

    load_fichier.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?php
    session_start();
     
    if(isset($_SESSION['login']))
    {
     
        $dossier_protege = 'Test/';
     
        // Sécurise le nom du fichier passé dans la variable $_GET['fichier']
        if(isset($_GET['fichier']) && strpos($_GET['fichier'], '/') === FALSE && strpos($_GET['fichier'], '.') !== 0)
        {
    	$chemin_fichier = $dossier_protege.$_GET['fichier'];
     
            if(file_exists($chemin_fichier))
    	{
    	    header('Content-Description: File Transfer');
    	    header('Content-Type: application/octet-stream');
    	    header('Content-Disposition: attachment; filename="'.basename($chemin_fichier).'"');
    	    header('Expires: 0');
    	    header('Cache-Control: must-revalidate');
    	    header('Pragma: public');
    	    header('Content-Length: ' . filesize($chemin_fichier));
    	    readfile($chemin_fichier);
    	    exit;
    	}
    	else
    	{
    	    echo 'Ce fichier n\'existe pas';
    	}
        }
        else
        {
    	echo 'Nom du fichier invalide';
        }
    }
    else
    {
    	echo 'Vous devez être authentifié';
    }
    ?>
    Tu peux appeler ce script depuis une autre page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    session_start();
    // pour exemple je déclare $_SESSION['login'] (qui normalement est déclaré lors de l'authentification)
    $_SESSION['login'] = 1;
    ?>
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="Description" content = "">
    <title></title>
    </head>
    <body>
    <a href="load_fichier.php?fichier=nom_fichier.jpg">fichier1</a>
    </body>
    </html>
    suppose que "nom_fichier.jpg" soit inclus dans le dossier "Test/"

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut ajouter un utilisateur et un mot de passe dans un fichier .htpassword
    Merci je vais tester de le mettre en place.

  8. #8
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut ajouter un utilisateur et un mot de passe dans un fichier .htpassword
    Et j'avais une autre petite question, comment faire si là personne mais un titre de document avec des espaces?

    Comment peut-on le gérer ceci?

    Bonne journée

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 381
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    Tu devrais renommer les fichiers lors de l'upload pour enlever les espaces (et les remplacer par des '_' par exemple), et de même remplacer les caractères accentués par leur équivalent sans accent pour permettre un maximum de compatibilité avec le serveur.

    Il y a une classe d'upload complète ici qui fait ça de manière transparente. Elle retourne aussi les infos en temps réel, surpasse les limitations serveur, gère les erreurs etc. avec des exemples complets et directement fonctionnels, suffit de décompresser le fichier et de le poser sur le serveur pour faire les premiers tests.

    Ou tu peux aussi regarder simplement la fonction "cleanFileName" qui renomme les fichiers, elle se trouve dans Php_Upload/Classes/UploadABCIServices.php

  10. #10
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut ajouter un utilisateur et un mot de passe dans un fichier .htpassword
    Pour les espaces et accents c'est bon mais par contre l'accés au document proteger cela ne fonctionne pas....

  11. #11
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 381
    Points : 10 410
    Points
    10 410
    Par défaut
    Le code que je t'ai donné fonctionne chez moi. Vérifies/modifies le nom du dossier et du fichier que j'ai mis en exemple. L'adresse du dossier suppose qu'il est au même niveau que les deux fichiers par exemple.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/01/2017, 08h26
  2. crypter un mot de passe dans un fichier.xml
    Par ghnawfal dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 21/12/2010, 15h00
  3. Expiration Mot de passe dans un fichier .htaccess
    Par gege87270 dans le forum Apache
    Réponses: 1
    Dernier message: 17/01/2008, 15h08
  4. sécuriser un mot de passe dans un fichier de config
    Par vegas dans le forum Sécurité
    Réponses: 5
    Dernier message: 26/10/2007, 09h31
  5. apache su mot de passe dans un fichier
    Par jean-jacques varvenne dans le forum Apache
    Réponses: 4
    Dernier message: 31/01/2005, 20h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo