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

JavaScript Discussion :

passage de paramètres en clair


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 84
    Par défaut passage de paramètres en clair
    Bonjour tout le monde !

    Je me suis lancée dans la techno ajax et je ne suis pas sûre de prendre une bonne direction. Je m'explique :

    J'ai programmé un petit bout de code qui demande le login et le mdp d'un utilisateur. PHP va vérifier dans la base si login et mdp sont corrects, il renvoit la valeur 0 si c'est pas bon et 1 si c'est ok.

    S'il y a une erreur, le javascript affiche un message d'erreur. Si c'est bon, il charge une autre page php qui va afficher des données.

    Et ça marche. Le problème, c'est que la façon dont je m'y suis prise n'est pas secure du tout puisque javascript appelle la derniere page php de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var ident = document.getElementById("ident").value;
    var mdp = document.getElementById("mdp").value;
    window.location.href ="fonctions.php?param=panacc&ident=" + ident + "&mdp=" + mdp;
    Donc vous l'avez deviné ça passe en clair et comme c'est un mot de passe, ben, c'est pas bien. Afin que vous puissiez m'aider, je vous poste tout le code :

    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
    <script language="javascript" type="text/javascript">
            function getCode() { //envoit les données à test.php pour qu'il teste si le login et le mot de passe existent bien
                var ident = document.getElementById("ident").value;
                var mdp = document.getElementById("mdp").value;
                var url = "test.php?ident=" + ident + "&mdp=" + mdp;
                requete.open("GET", url, true);
                requete.onreadystatechange = actualiserPage;
                requete.send(null);
            }
    
            function actualiserPage() {
                if (requete.readyState == 4) {
                    var reponse = requete.responseText;
                    var premValeur = document.getElementById("messrouge");
                    var statut = getTexte(premValeur);
    
                    if (reponse == 0){ //s'ils sont faux alors afficher message d'erreur
                        var newValeur = "Identifiant ou mot de passe incorrect.";
                        remplacerTexte(premValeur, newValeur);
                    }
                    else if (reponse == 1) { //si c'est ok alors afficher fonctions.php en lui transmettant login et mdp
                //      var newValeur = "Bienvenue sur le site...";
                //      remplacerTexte(premValeur, newValeur);
                        var ident = document.getElementById("ident").value;
                        var mdp = document.getElementById("mdp").value;
                        window.location.href ="fonctions.php?param=panacc&ident=" + ident + "&mdp=" + mdp;
                    }
                }
            }
        </script>
    Voilà le code html :

    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
     
    <body>
    <div id="conteneur">
    <?php if (!isset($affichage)){ ?>
        <h1 id="header">Connexion</h2><br /><br />
        <div id="contenu">
            <div id="messrouge"></div><br /> 
                <form method="POST" action="test.php" name="formconnect">
            <table border=0>
                <tr><td>Identifiant : </td><td><input type="text" name="ident" id="ident"></td></tr>
                <tr><td>Mot de passe : </td><td><input type="text" name="mdp" id="mdp" /></td></tr>
                <tr><td colspan=2 align="center"><input type="button" name="valid" value="OK" onclick="getCode();" /></td></tr>
            </table>
        </div>
    <?php } ?>
    </div>
    </body>
    Je vous remercie d'avance !

  2. #2
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Par défaut
    Pourquoi tu transforme pas le mot de passe en md5 avant de l'envoyer dans l'url ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15
    Par défaut
    > Pourquoi tu transforme pas le mot de passe en md5

    C'est sûrement une solution efficace (à condition d'avoir de quoi calculer le md5 vite fait côté serveur), mais en fait pourquoi ne pas passer en https ?

    Genre: action="https://monsitetropdelaballe.com/test.php"

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 84
    Par défaut
    Je pensais qu'il y avait d'autres façons de faire que le md5 mais je viens de me le tenter et ça marche très bien. Alors allons-y pour le md5 !

    Pour le https, je ne sais pas comment on procède. Comment ça fonctionne par rapport au http ?

  5. #5
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par défaut
    Yop!

    Pour le https; il suffit qu'un certificat soit installé sur le serveur pour pouvoir utiliser le protocole sécurisé. Du point de vue du programmeur, rien ne change.

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 84
    Par défaut
    C'est intéressant, il faudra que je me regarde ça de plus près. Je vous remercie pour vos idées, j'avance et j'apprends tout plein de choses !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Forms]Passage de paramètre entre Forms et Reports
    Par jack554 dans le forum Reports
    Réponses: 4
    Dernier message: 30/03/2004, 13h58
  2. probleme lors du passage de paramètre
    Par maxmj dans le forum ASP
    Réponses: 4
    Dernier message: 18/11/2003, 00h15
  3. [XSL] Passage de paramètres à un template
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/06/2003, 13h28
  4. passage de paramètres
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/02/2003, 17h28
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

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