Page 2 sur 2 PremièrePremière 1 2
Affichage des résultats 16 à 29 sur 29

Discussion: Authentification simplifiée

  1. #16
    Date d'inscription
    December 2003
    Localisation
    Belgique
    Messages
    293
    Version de vBulletin
    3.0
    Hébergeur
    Nexlink.net
    Pouvoir de réputation
    76
    J'ai jeté un oeil à tes fichiers...
    Dans page 2, tu as addslashes($mdp), tu peux remplacer par md5($mdp)... Ton pass est alors enregistré crypté... Maintenant l'authentification avec ta page5.php est correcte.

    Pour ce qui est de faire une authentification sur chaque bonne page ou c'est nécessaire, tu changes ta page5.php comme ceci:

    Code PHP:
    <?php
    require('_connexion.php');

    function 
    identification($login,$pass)
    {

        
    $db = @mysql_connect("$dbhost""$dbuser""$dbpass") OR DIE("Erreur : la base de donnÈes n'existe pas.");
        @
    mysql_select_db("$dbbase",$db) OR DIE("Erreur : la base de donnÈes n'est pas accessible.");

        
    $sql "SELECT * from $table where pseudo= '" addslashes(htmlspecialchars_uni($login)) . "'"

        if (
    $req=mysql_query_first($sql))
        { 
            if (
    $req[mdp]==md5($pass))
                return 
    0;
            else
                return 
    2
        } 
        else 
        { 
            return 
    1;
        } 
    }
    ?>
    Tu la renommes en... disons identification.php. Ensuite tu n'as plus qu'a ecrire les pages ou tu veux vérifier l'identification de cette manière:
    Code PHP:
    <?php
    include("identification.php");
    if((isset(
    $login)) && (isset($pass)))
        
    $ident identification($login,$pass);
    else
        
    $ident 3;
        
    if(
    $ident == 0)
    {
        
    // A faire si identifié
    }
    else if(
    $ident == 1)
    {
        
    // A faire si utilisateur non trouvé
    }
    else if(
    $ident == 2)
    {
        
    // A faire si mot de apsse mauvais
    }
    else if(
    $ident == 3)
    {
        
    // A faire si pas de login/pass donné
    }
    ?>
    C'est une des manière de faire, surement pas la meilleure, mais au moins une que tu peux comprendre pour commencer. Quand je parle de 'booléen' c'est que tu peux simplifier et renvoyer avec identification true ou false...
    Aussi, pour chaque lien entre les pages ou tu dois garder l'authentification, tu dois passer les login/pass en parametre ("mapage.php?login=$login&pass=$pass"), ou en champs cachés (input type="hidden") dans des formulaires...
    Une fois que tu voudras aller plus loin et trouver la meilleur manière de faire, je te conseille d'aller jeter un oeil sur des sites de scripts php pour en prendre quelques uns et regarder coment c'est codé (évidemment faut faire gaffe aux trucs codés bourrin lol).
    Autant l'hiver éclate, que l'hétéroclite...

  2. #17
    Date d'inscription
    December 2002
    Localisation
    Paris, France
    Âge
    37
    Messages
    2 483
    Version de vBulletin
    4.0
    Hébergeur
    sandwish.fr
    Pouvoir de réputation
    90
    lol ambre Tfiché ...

  3. #18
    Date d'inscription
    August 2003
    Localisation
    Paris
    Âge
    43
    Messages
    4 843
    Version de vBulletin
    3.5
    Hébergeur
    me
    Pouvoir de réputation
    100
    un switch $ident suivi de case est plus judicieux

  4. #19
    Date d'inscription
    January 2004
    Messages
    68
    Version de vBulletin
    2
    Hébergeur
    Oxyd
    Pouvoir de réputation
    74
    Citation:
    Posté par lanoix

    Code PHP:
    <?php 
    include("identification.php"); 
    if((isset(
    $login)) && (isset($pass))) 
        
    $ident identification($login,$pass); 
    else 
        
    $ident 3
         
    if(
    $ident == 0

        
    // A faire si identifié 

    else if(
    $ident == 1

        
    // A faire si utilisateur non trouvé 

    else if(
    $ident == 2

        
    // A faire si mot de apsse mauvais 

    else if(
    $ident == 3

        
    // A faire si pas de login/pass donné 

    ?>
    Que la maniere soie pas la meilleure du monde... ca n'est pas grave, tant que ca marche...
    merci pour ton aide qui m'est...d'une grande aide...

    Concernant le script ci-dessus, comment fait-tu pour lui dire ce qu'il doit faire si...ou si...ou si...
    en clair, je ne sait pas comment ecrire parfaitement en php ce que je veut qu'il fasse.

    >>if($ident == 0)
    Si identifié alors aller sur une page d'accueil, celle qui pour l'instant est la page2.php mais qu'a terme il me faudrait passer sur une page spéciale.

    >>if($ident == 1)
    Si utilisateur non trouvé, alors passer à la page1.php

    else if($ident == 2)
    Alors dire un message "le mot de passe est mauvais..." et rediriger sur identification.php

    ce serait ? :
    echo*'Votres mot de passe est faux';
    et ensuite quelle est la commande pour rediriger ? Je fait en javascript ?

    en clair ca donnerait :
    ?>
    <script language="Javascript">
    alert('Les mots de passes entrés ne correspondent pas. Veuillez revenir en arrière et vérifiez votre mot de passe.');
    history.back();
    </script>
    <?

    else if($ident == 3)
    Si identifié alors aller sur une page d'accueil, celle qui pour l'instant est la page2.php mais qu'a terme il me faudrait passer sur une page spéciale.
    ------
    est ce que je peut encore beneficier de ton aide pour cela svp ?

    Merci beaucoup car quand je cherche les commandes pour rediriger je trouve que des javascripts ou des redirections HTTP...

  5. #20
    Date d'inscription
    October 2002
    Localisation
    Nord
    Âge
    40
    Messages
    220
    Version de vBulletin
    4.2
    Hébergeur
    evxonline
    Pouvoir de réputation
    80
    Tu peux utiliser ca pour rediriger la page :

    Code PHP:
        <script language=\"javascript\">
        myvar = \"\"; timeout = 5;
            function dorefresh() {
                window.status=\"Redirecting\"+myvar; myvar = myvar + \" .\";
                timerID = setTimeout(\"dorefresh();\", 100);
                if (timeout > 0) { timeout -= 1; }
                else { clearTimeout(timerID); window.status=\"\"; window.location=\"gauche.php\"; }
            }
            dorefresh();
        </script> 

    (¯`·._.·`¯`·._.- vBulletin Hackers Never Die They Go To Hell -._.·`¯`·._.·`¯)

    Hell was full, so I came back

  6. #21
    Date d'inscription
    January 2004
    Messages
    68
    Version de vBulletin
    2
    Hébergeur
    Oxyd
    Pouvoir de réputation
    74

    Erreur ligne 7

    Bonjour tous

    Toujours coldfusion en train de se trifouiller la tête avec ça...

    quand je vais page4.php, je rentre mon login et mon pass, le fichier page4.php doit alors verifier via identification.php qui verifie alors dans la DB si j'ai mon pseudo et le bon pass
    J'ai un message d'erreur :
    Parse error: parse error in /usr/local/www/data.users/monsite.com/www/identification.php on line 7

    et la ligne 7 est :
    Code PHP:
    $db = @mysql_connect("$dbhost""$dbuser""$dbpass") OR DIE("Erreur : la base de donnÈes n'existe pas."); 
    què passa ? Pourquoi n'arrive t il pas à se connecter ?

    Sinon grog6 je peut pas tester encore, j'attends que ceci marche.
    Merci d'avance à vous deux, vous m'aidez beaucoup

  7. #22
    Date d'inscription
    January 2003
    Localisation
    Dans ton .........
    Âge
    46
    Messages
    263
    Version de vBulletin
    Aucune
    Hébergeur
    None
    Pouvoir de réputation
    79
    Ne manque t'il pas un ; en fin d'instruction ou bien une { qui n'ai pas fermer?

  8. #23
    Date d'inscription
    January 2004
    Messages
    68
    Version de vBulletin
    2
    Hébergeur
    Oxyd
    Pouvoir de réputation
    74
    Citation Envoyé par Foularou
    Ne manque t'il pas un ; en fin d'instruction ou bien une { qui n'ai pas fermer?
    ben non je pige pas...

    rien ne manque et ... c'est la meme ligne que dans page2.php

    Code PHP:
    <?php 
    require('_connexion.php'); 
     
    function 
    identification($login,$pass

     
          
    $db = @mysql_connect("$dbhost""$dbuser""$dbpass") OR DIE("Erreur : la base de donnÈes n'existe pas."); 
          @
    mysql_select_db("$dbbase",$db) OR DIE("Erreur : la base de donnÈes n'est pas accessible."); 
     
          
    $sql "SELECT * from $table where pseudo= '" addslashes(htmlspecialchars_uni($login)) . "'"
     
          if (
    $req=mysql_query_first($sql)) 
          { 
                if (
    $req[mdp]==md5($pass)) 
                      return 
    0
                else 
                      return 
    2
                } 
                else 
                { 
                      return 
    1
                } 
          } 
    ?>
    Dernière modification par Pitchoune ; 26/02/2004 à 20h18. Motif: Esapces avant les nouvelles lignes pour que je comprennes mieux :p

  9. #24
    Date d'inscription
    January 2003
    Localisation
    Dans ton .........
    Âge
    46
    Messages
    263
    Version de vBulletin
    Aucune
    Hébergeur
    None
    Pouvoir de réputation
    79
    if ($req[mdp]==md5($pass))
    {
    return
    0
    ;
    }
    else

    {
    return
    2
    ;
    }


  10. #25
    Date d'inscription
    January 2004
    Messages
    68
    Version de vBulletin
    2
    Hébergeur
    Oxyd
    Pouvoir de réputation
    74
    j'ai donc compris qu'avant un else et apres un else, il faut toujours ouvrir puis fermer

    Cependant dans ton exemple...je ne voit pas quoi faire au dessus...
    Il m'en reste une d'ouverte dans ce cas,
    juste après : if ($req=mysql_query_first($sql))

    ou sinon c celle du début ?
    Ou sinon c'est qu'il en manque une qui ferme en bas ?

    J'ai donc mis cela (5 ouvertes / 5 fermées)

    Code PHP:
    <?php 
    require('_connexion.php'); 

    function 
    identification($login,$pass


    $db = @mysql_connect("$dbhost""$dbuser""$dbpass") OR DIE("Erreur : la base de donnees n'existe pas."); 
    @
    mysql_select_db("$dbbase",$db) OR DIE("Erreur : la base de donnÈes n'est pas accessible."); 

    $sql "SELECT * from $table where pseudo= '" addslashes(htmlspecialchars_uni($login)) . "'"

     if (
    $req=mysql_query_first($sql)) 

     if (
    $req[mdp]==md5($pass)) 
    {
    return 
    0;
        } 
    else 
    {
    return 
    2
      }
     else 
     { 
     return 
    1


     } 
     }
    ?>
    mais...meme message d'erreur : ligne 7

    ---
    coldfusion
    ----
    Dernière modification par Coldfusion ; 26/02/2004 à 20h18.

  11. #26
    Date d'inscription
    September 2002
    Localisation
    France
    Âge
    39
    Messages
    11 293
    Version de vBulletin
    5.0
    Hébergeur
    Serveur dédié OVH
    Billets dans le blog
    13
    Pouvoir de réputation
    140
    Avec la modif sur ton message pour que je puisses mieux voir la mise en page, il te manque un } à la fin
    vBulletin Quality Assurance
    Développeur en chef de Project Tools 2.1+ pour vB 4 et 2.0 pour vB 3
    Restera très discret sur toutes les futures fonctionnalités de vBulletin ainsi que de vBulletin 5 Connect jusqu'à leur sortie publique ^^

    Tout MP d'aide -> Supprimé

  12. #27
    Date d'inscription
    September 2002
    Localisation
    France
    Âge
    39
    Messages
    11 293
    Version de vBulletin
    5.0
    Hébergeur
    Serveur dédié OVH
    Billets dans le blog
    13
    Pouvoir de réputation
    140
    Mais depuis que tu as reposté le code, il manque plus
    vBulletin Quality Assurance
    Développeur en chef de Project Tools 2.1+ pour vB 4 et 2.0 pour vB 3
    Restera très discret sur toutes les futures fonctionnalités de vBulletin ainsi que de vBulletin 5 Connect jusqu'à leur sortie publique ^^

    Tout MP d'aide -> Supprimé

  13. #28
    Date d'inscription
    January 2004
    Messages
    68
    Version de vBulletin
    2
    Hébergeur
    Oxyd
    Pouvoir de réputation
    74
    j'y comprends rien, dans ce que je viens de reposter il y a 5 "}" et 5 "{"

    Ne faut-il pas un crochet ouvert pour un crochet fermé ?

  14. #29
    Date d'inscription
    January 2004
    Messages
    68
    Version de vBulletin
    2
    Hébergeur
    Oxyd
    Pouvoir de réputation
    74


    j'y arrive pas...

Informations de la discussion

Utilisateur(s) sur cette discussion

Il y a actuellement 1 utilisateur(s) naviguant sur cette discussion. (0 utilisateur(s) et 1 invité(s))

Discussions similaires

  1. Authentification htaccess
    Par esf dans le forum Demande de modification
    Réponses: 3
    Dernier message: 31/07/2004, 22h48

Les tags pour cette discussion

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •