AccueilSiteFAQRechercherS'enregistrerGroupesConnexion

 

 [Ajax]Problème zarb O.o"

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Auteur Message
harvox
Membre royal très actif
Membre royal très actif
avatar

Masculin Nombre de messages : 1187
Point(s) Fort(s) : Event/mapping
Point(s) Faible(s) : ruby ?
Niveau RPG Maker : Malgrès mes questions je connais pas mal le logiciel, je dirais 7/10
Date d'inscription : 05/04/2007

MessageSujet: [Ajax]Problème zarb O.o"   Ven 23 Jan 2009 - 22:01

Yop all,
J'ai un input, j'aimerais que le cadre se colore en fonction du contenue.
Si le contenue est égal au mot de passe actuel, alors on colore en vert sinon en rouge.

Tout marche bien sauf...la coloration...
En effet la condition s'effectue bien, true ou false est bon, la condition effectue la bonne branche...sauf le code qui colore...

Voici mon input (OnBlur pour pas faire de requête à chaque OnKeyDown...)

Code:
<label for="password">* Mot de passe actuel :</label><input name="password" type="password" id="password" onBlur="MdpVerifXHR(this)" /> (entre 3 et 15 caractères)

Voici ma fonction JS :

Code:
function MdpVerifXHR(mdp)
{
   var xhr = new XMLHttpRequest();
        if(window.XMLHttpRequest || window.ActiveXObject) {
                if(window.XMLHttpRequest) {
                        xhr = new XMLHttpRequest();
                }
                else {
                        try {
                                xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch(e) {
                                xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                }
        }
        xhr.onreadystatechange = function()
      {
                if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
            {
               if (xhr.responseText == "false")
               {
               alert('PAS OK');
                  mdp.style.borderStyle = 'solid';
                  mdp.style.borderColor = 'red';
               }
               else
               {
               alert('OK');
                  mdp.style.borderStyle = 'solid';
                  mdp.style.borderColor = 'green';   
               }

                }
        }
       
        var mdp = encodeURIComponent(mdp.value);
        xhr.open("GET", "VerifPass.php?mot_de_passe="+ mdp +"", true);
        xhr.send(null);
       
}

Et mon code php :

Code:
<?php
session_start(); // On démarre la session AVANT toute chose
mysql_connect("localhost", "root", "");
mysql_select_db("inscription");
if (isset($_SESSION['pseudo']))
{
   $information = mysql_query('SELECT mot_de_passe FROM inscription WHERE BINARY pseudo="'.$_SESSION['pseudo'].'" ') or die(mysql_error());
   while ($donnees = mysql_fetch_array($information) )
   {
      $mdp = $donnees['mot_de_passe'];
   }
   
   $mot_de_pass=$_GET['mot_de_passe'];
   
   if (sha1($mot_de_pass) == $mdp )
   {
      echo 'true';
   }
   else
   {
      echo 'false';
   }
   
}

OK ou PAS OK s'affiche bien, mais si je le met en dessous ça ne fonctionne plus :s
Merci d'avance.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://teamrpgmakerxp.forumactif.com/
Bahamut 1.2
Membre royal(e)
Membre royal(e)
avatar

Masculin Nombre de messages : 556
Age : 30
Point(s) Fort(s) : touche-à-tout :D
Point(s) Faible(s) : Flemme x_x
Niveau RPG Maker : meilleur que toiiiii !...comment ça non ?
Date d'inscription : 25/09/2006

MessageSujet: Re: [Ajax]Problème zarb O.o"   Ven 23 Jan 2009 - 22:17

Désolé je connais pas grand chose à l'AJAX, mais comme je vois certains problemes de sécurité, je me permets de répondre Smile
-Utilise mysql_real_escape_string pour eviter les injections SQL
-Moins grave, mais vaut mieux éviter de laisser l'affichage de l'erreur SQL une fois le debug terminé, ça peut renseigner d'éventuels hackers sur ta base de données...
-Pas très grave non plus, mais il semblerait que la SHA-1 ne soit plus tres securisé, je te conseille de te créer ton propre algo, même simple il sera plus sécurisé car connu de toi seul. Et tu peux le combiner au sha1 ou md5 qui peuvent alors embrouiller le hacker.

Je dois paraitre parano mais il faut parer à toute éventualité non ? Smile
J'ai aussi une question qui n'a pas grand chose à voir avec ton projet, mais bon tant que j'y suis...où as-tu appris le JS/Ajax ? Au pire réponds moi par MP ;p
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
harvox
Membre royal très actif
Membre royal très actif
avatar

Masculin Nombre de messages : 1187
Point(s) Fort(s) : Event/mapping
Point(s) Faible(s) : ruby ?
Niveau RPG Maker : Malgrès mes questions je connais pas mal le logiciel, je dirais 7/10
Date d'inscription : 05/04/2007

MessageSujet: Re: [Ajax]Problème zarb O.o"   Ven 23 Jan 2009 - 22:38

Ok merci =p
Dans ce script rien n'entre dans la bdd, donc mysql_real_escape_string est inutile je pense.

En fait je sorts simplement mot_de_passe de la bdd et je compare avec la donnée passée en get.

Pour supprimer les erreurs sql je ferais ça plus tard ^^
Et encore, le @ devant la requête pompe pas mal de ressource à ce que j'ai entendu dire.
Je perfectionnerais mon code de façon à qu'il n'y ait pas d'erreur ^^

Et j'ai déjà pensé à créer une méthode de hash, c'est un de mes futur projet, mais c'est très complexe.
En attendant sha1 est plus sécurisé que md5 alors je reste sous sha1, mais lorsque j'aurais fini mon jeu et mon hash, je recrypterais tous.

Pour la question, j'ai trouvé des scripts sur le web et je les aient disséqués, j'ai aussi fais un tour sur le sdz, mais faut dire que côté JS tout requiert un minimum de compréhension et c'est très mal expliqué (seulement sur JS et AJAX).

Je penses que je vais aussi me lancer dans un tutoriel pour JavaScript et Ajax.
Si tu veux je te fais un cours par mp avec des tps, tu devrais comprendre assez vite =p

EDIT : Corrigé, j'avais nommé une variable comme un objet déjà instancié...

Code:
function MdpVerifXHR(mdp)
{
   var xhr = new XMLHttpRequest();
        if(window.XMLHttpRequest || window.ActiveXObject) {
                if(window.XMLHttpRequest) {
                        xhr = new XMLHttpRequest();
                }
                else {
                        try {
                                xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch(e) {
                                xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                }
        }
        xhr.onreadystatechange = function()
      {
                if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
            {
               if (xhr.responseText == "false")
               {
                  mdp.style.borderStyle = 'solid';
                  mdp.style.borderColor = 'red';
               }
               else
               {
                  mdp.style.borderStyle = 'solid';
                  mdp.style.borderColor = 'green';   
               }

                }
        }
   var mdp2 = encodeURIComponent(mdp.value);
        xhr.open("GET", "VerifPass.php?mot_de_passe="+ mdp2 +"", true);
        xhr.send(null);
       
}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://teamrpgmakerxp.forumactif.com/
Bahamut 1.2
Membre royal(e)
Membre royal(e)
avatar

Masculin Nombre de messages : 556
Age : 30
Point(s) Fort(s) : touche-à-tout :D
Point(s) Faible(s) : Flemme x_x
Niveau RPG Maker : meilleur que toiiiii !...comment ça non ?
Date d'inscription : 25/09/2006

MessageSujet: Re: [Ajax]Problème zarb O.o"   Ven 23 Jan 2009 - 23:48

Citation :
Dans ce script rien n'entre dans la bdd, donc mysql_real_escape_string est inutile je pense.

En fait je sorts simplement mot_de_passe de la bdd et je compare avec la donnée passée en get.
J'ai un peu de mal à comprendre, tu envoie tes mots de passe dans l'url ? C'est un peu risqué quand même oo"...En tout cas, mysql_real_escape_string s'avère souvent utile même dans une requete de type SELECT, je ne peux que te conseiller si ce n'est pas encore fait, de te renseigner à propos des injections SQL, comme ça tu pourras décider toi-même ce qu'il faut faire. Le principe est simple en vérité.

Citation :
Et j'ai déjà pensé à créer une méthode de hash, c'est un de mes futur projet, mais c'est très complexe.
En attendant sha1 est plus sécurisé que md5 alors je reste sous sha1, mais lorsque j'aurais fini mon jeu et mon hash, je recrypterais tous.
Fais-en un simple que tu combines à sha ou md5, c'est le mieux je pense (tu rajoutes une sécurité, qui augmente considérablement le "blindage" de ton cryptage :p). Enfin, de toute maniere, les membres n'ont pas du tout accès aux pass des autres membres, meme cryptés. Sinon il y a quelque chose à revoir^^ (d'où mon inquiétude sur le GET plus haut).

Citation :
Je penses que je vais aussi me lancer dans un tutoriel pour JavaScript et Ajax.
Si tu veux je te fais un cours par mp avec des tps, tu devrais comprendre assez vite =p
Malheureusement je n'ai pas beaucoup de temps libre, le mieux que je puisse faire c'est aller voir quand j'ai 2mn^^ Mais merci de la proposition, et aussi pour ta rréponse bien sur. Mais je devrais me débrouiller, je connais un peu le JS (j'ai beaucoup oublié), et la POO.

Bref, bonne continuation.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
harvox
Membre royal très actif
Membre royal très actif
avatar

Masculin Nombre de messages : 1187
Point(s) Fort(s) : Event/mapping
Point(s) Faible(s) : ruby ?
Niveau RPG Maker : Malgrès mes questions je connais pas mal le logiciel, je dirais 7/10
Date d'inscription : 05/04/2007

MessageSujet: Re: [Ajax]Problème zarb O.o"   Ven 23 Jan 2009 - 23:54

Re :p

Non t'inquiète les pass ne sont pas visible, d'ailleurs, AJAX ouvre la page pour l'executer, mais l'internaute ne vois rien.
De plus, il entre lui même son mot de passe qui est mis en get, si son mot de passe est poulet alors get vaudra poulet.

Le script va vérifier dans la bdd si get vaut le vrai mot de passe et agir en conséquence.


Je vais voir pour faire un tuto sur le fofo quand j'aurais le temps Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://teamrpgmakerxp.forumactif.com/
Mat
Roi
Roi
avatar

Masculin Nombre de messages : 2260
Age : 31
Point(s) Fort(s) : Méthode CPF / Briseur de chevilles / Serial Killer
Point(s) Faible(s) : Trop technique
Niveau RPG Maker : On ne peut être juge et parti...
Logiciel préféré : Visual Studio 2008
Date d'inscription : 12/08/2006

MessageSujet: Re: [Ajax]Problème zarb O.o"   Ven 23 Jan 2009 - 23:55

Même sur un simple SELECT, tu as toujours des risques d'une SQL injection.
Suffit que je mette une apostrophe dans le pseudo et je fais retourner ce que je veux à ta requête.
_________________

mat.labrute.fr
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Bahamut 1.2
Membre royal(e)
Membre royal(e)
avatar

Masculin Nombre de messages : 556
Age : 30
Point(s) Fort(s) : touche-à-tout :D
Point(s) Faible(s) : Flemme x_x
Niveau RPG Maker : meilleur que toiiiii !...comment ça non ?
Date d'inscription : 25/09/2006

MessageSujet: Re: [Ajax]Problème zarb O.o"   Sam 24 Jan 2009 - 0:19

Citation :
De plus, il entre lui même son mot de passe qui est mis en get, si son mot de passe est poulet alors get vaudra poulet.
Ca fait partie des trucs pas géniaux niveau sécurité, justement :p Imagine un internaute qui n'y connait rien et ne fait pas attention (un des principes de la prog c'est de considérer toujours le pire utilisateur possible^^) copie colle l'url, sur un forum par exemple.
"J'arrive pas a me connecter !! Regardez : truc.com/connect.php?motdepasse=tartiflette"
Evidemment c'est un peu extreme, mais bon, ce pauvre membre se fera vite piller son compte :/

Bref, on va pas épiloguer des heures là-dessus.^^ Pense aux hackers et aux injections SQL, mais aussi aux utilisateur...imprudents (on va dire ca comme ça !).
Je pense que pour un site et encore plus pour un jeu, il faut prendre le maximum de précautions, ça ne coute que 2 ou 3 lignes et quelques millisecondes de traitement Wink. Surtout si t'as rien de prévu pour détecter la triche (ce qui n'est pas forcément ce par quoi on commence).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
harvox
Membre royal très actif
Membre royal très actif
avatar

Masculin Nombre de messages : 1187
Point(s) Fort(s) : Event/mapping
Point(s) Faible(s) : ruby ?
Niveau RPG Maker : Malgrès mes questions je connais pas mal le logiciel, je dirais 7/10
Date d'inscription : 05/04/2007

MessageSujet: Re: [Ajax]Problème zarb O.o"   Sam 24 Jan 2009 - 1:54

Si niveau triche j'ai codé quelques fonctions :p
Comme je l'ai dis plus haut, l'utilisateur n'a pas accès à cette page, c'est ajax qui s'en sert, l'utilisateur ne sais même pas qu'elle existe et si il le sait, il ne sais pas qu'elle envoie un get, et si il le sait, au pire des cas, il arrivera seulement à afficher true ou false sur la page^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://teamrpgmakerxp.forumactif.com/
Contenu sponsorisé




MessageSujet: Re: [Ajax]Problème zarb O.o"   

Revenir en haut Aller en bas
 

[Ajax]Problème zarb O.o"

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum: Vous ne pouvez pas répondre aux sujets dans ce forum
 :: HTML/ CSS/ JavaScript/ PHP :: Aide -
|
Créer un forum | © phpBB | Forum gratuit d'entraide | Signaler un abus | Forumactif.com