Solution de LOGIN en PHP !?

Discussion dans 'Web, design' créé par _gilles, 26 Avril 2005.

Statut de la discussion:
Fermée.
  1. Offline
    _gilles Elite
    Bonjour,

    Après avoir abandonné le refresh de la fenêtre applante d'une popup contenant le formulaire de login, j'essaye de me tourner vers d'autres solutions: mon but étant d'identifier un membre.

    Rien de plus simple vous allez me dire... Sauf que la page d'accueil DOIT contenir une condition du style: "Si la session est enregistrée, afficher ceci. Sinon, afficher cela."

    Code:
    if (!isset($_SESSION['LOGIN_CLIENT']))
    {
    print("Bienvenue...");
    }
    else
    {
    print("Veuillez vous authentifier.");
    }	
    
    Le problème est que la page d'accueil doit rester tel quel (pas question qu'elle disparaisse au profil d'un formulaire par exemple). Ma solution était de faire un lien vers une popup contenant le formulaire, mais il est impossible de rafraichir la page d'accueil et que celle-ci prenne en compte l'ouverture d'une session.

    J'espère que vous comprenez car je suis vraiment bloqué dans mon site :cry:

    Merci d'avoir pris le temps de me lire.
    _gilles, 26 Avril 2005
    #1
  2. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    Sur M@tbe, pour les agrnadissement d'images, quand tu clique dessus, pour fermer la fenêtre, il y a ça comme lien :

    javascript:window.opener.focus();window.close();

    Tu ne peux pas faire un truc genre : javascript:window.opener.refresh(); :?:
    Jereck, 26 Avril 2005
    #2
  3. Offline
    _gilles Elite
    J'ai déja essayé cette solution lors d'un précédent thread, mais ca foire au niveau PHP. En effet, les variables ne sont pas reprises lors de l'ouverture de la session. Je ne comprend vraiment pas...
    _gilles, 26 Avril 2005
    #3
  4. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    Et que veux-tu dire par "Le problème est que la page d'accueil doit rester tel quel (pas question qu'elle disparaisse au profil d'un formulaire par exemple)."

    Tu as un design à respecter ?
    Tu pourrait peut-être mettre un DIV invisible apparaissant en "pseudo-popup" quand on clique sur le lien (cfr chez Computer-Supplies quand tu passes la souris sur l'icone du stock)
    Jereck, 26 Avril 2005
    #4
  5. Offline
    _gilles Elite
    http://daftdj.free.fr/_projet_01/

    Je voudrais que le visiteur ne voit à aucun moment cette page disparaitre.

    Si tu remarques le S'IDENTIFIER - S'ENREGISTRER, je voudrais qu'il disparaisse au profil de variables correspondant au login une fois l'utilisateur identifier.

    Tu comprends ?
    _gilles, 26 Avril 2005
    #5
  6. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    Jereck, 26 Avril 2005
    #6
  7. Offline
    _gilles Elite
    Ha ouais... hé bien cela me semble être une très bonne solution dans la mesure où j'espère que ca fonctionne pour le PHP.

    Merci beaucoup, je vais chercher des infos à propos des "DIV invisible", si jamais d'autres GamerZ ont d'autres idées, ne vous génez pas.

    Un grand merci Jereck.
    _gilles, 26 Avril 2005
    #7
  8. Offline
    _gilles Elite
    _gilles, 27 Avril 2005
    #8
  9. Offline
    _gilles Elite
    C'est encore moi...

    J'ai réalisé le 'div invisible' mais le problème subsiste:

    Comment faire disparaitre le formulaire au profil des informations du client une fois qu'il s'est loggé ?

    Je désespère :-(
    _gilles, 2 Mai 2005
    #9
  10. Offline
    MbK_ Etudjant
    Ca c'est pas très dur.

    Tu fais une ptite condition du genre

    MbK_, 2 Mai 2005
    #10
  11. Offline
    _gilles Elite
    Et bien j'étais bien distrait. J'avais la solution depuis le début (voir mon premier message) mais j'étais bloqué par le fait que l'index ne devait pas bouger.

    Je vais donc faire ca tout de suite.

    Merci de m'avoir réveillé MbK_ !
    _gilles, 2 Mai 2005
    #11
  12. Offline
    ZyPh0s Touriste
    Voilà t'as fait le plus facile, maintenant tu veux un bon casse tête, essaie de sécuriser ta session :D

    Ne pas oublier lors de comparaison sur une DB, toujours faire un addslashes() sur login et mot de passe, ceci afin d'éviter les failles de type injection SQL.

    Il y a plein de sujets qui en traitent sur le net.
    ZyPh0s, 10 Mai 2005
    #12
  13. Offline
    Xou I ♥ rien
    Le addslashes() sur tout ce qui rentre dans les formulaires d'ailleurs !
    Xou, 10 Mai 2005
    #13
  14. Offline
    MbK_ Etudjant
    et stripslashes() sur tout ce qui sort :)
    MbK_, 11 Mai 2005
    #14
  15. Offline
    je crains que ta méthode d'itentification puisse marcher en local mais pas sur un serveur internet réel... En effet, les serveurs internet "réel" sont (souvent) configurés de manière a donner un login client different à chaque page. sauf si tu passes ce login en tant que variable mais c'est pas beau (et le visiteur ne sais pas donner de lien sur une page sans donner sa session (assez embêtant ca tant pour le copain qui ne sais pas conseiller des pages du site a son copain que pour toi qui n'aura pas beaucoup de "nouveau" visiteurs arrivés grace au bouche a oreille.

    la seule methode valable que j'ai trouvé pour l'utilisation de sessions est l'utilisation des biscuits aux peptites de chocolat (cookies). C'est assez embêtant au debut, mais ensuite, tu trouveras cela hyper simple et puissant mais aussi très securiseable.
    dania の悪夢, 12 Mai 2005
    #15
  16. Offline
    null ose();
    Je suis d'accord avec zywakx, de plus ce n'est pas très sécurisant.

    Ce qu'il faut faire :

    Une session qui génère une chaîne (on va la nommer "salt"). Le formulaire a un champ caché avec la valeur de "salt" et une champ login et mot de passe où le mot de passe est crypté en MD5 via JavaScript pour que si quelqu'un sniffe le réseau, il ne puisse pas voir le mot de passe.

    Du côté serveur, on prend le salt de la session et on compare avec le champ caché. Ensuite on prend le login et le mot de passe crypté que l'on compare, ...

    C'est pas tout à fait sécurisé encore, pour bien faire, on devrait faire un concacténation de "salt" et du mot de passe crypté mais bon :D
    null, 12 Mai 2005
    #16
  17. Offline
    Xou I ♥ rien
    Attention que le md5 est "décryptable".

    Y'a des programmes qui tournent et qui sont assez rapides pour faire des comparaisons de caractères dits cryptés.
    Xou, 12 Mai 2005
    #17
  18. Offline
    _gilles Elite
    J'ai testé le site sur free.fr (hebergeur temporaire en attendant OVH où un autre...) et cela fonctionne convenablement, mais je prend note.

    Merci ;)
    _gilles, 26 Mai 2005
    #18
  19. Offline
    il suffit de bien savoir utiliser le md5 pour pouvoir berner tous les utilisateurs de ce genre de logiciel de décryptage genre un md5('a'.$motdepasse) ou un truc plus complexe encore.

    Ce genre de logiciel se base plus sur des combinaisons connues et simples. Il ne s'agit que de tables de comparaisons tel code vers tel mot de passe mais en concatenant les chaines avant md5, tu casses leur systeme car ils ne savent pas decouvrir Le bon mot de passe s'il est assez complexe. Pour reprendre l'exemple plus haut,
    si $motdepasse=motdepasse, md5('amotdepasse') donne une chaine de caractères qui decryptée donnera un mot de passe du type L1oM5Ht , rien a voir avec le bon mot de passe car si tu rentre cette solution dans la variable $motdepasse, md5('a'.$motdepasse) donnera autre chose. Tu as donc réussi la securisation du mot de passe.

    reste à sécuriser tout autant le reste du site :D
    dania の悪夢, 26 Mai 2005
    #19
  20. Offline
    _gilles Elite
    He bien, c'est du chinois pour moi tout ca. Vous n'avez pas un ou deux sites de sécurité PHP qui me permettrait de me rassurer avant de mettre mon premier 'gros' site en ligne ?
    _gilles, 30 Mai 2005
    #20
Statut de la discussion:
Fermée.