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

PHP & Base de données Discussion :

Inscription et identification sécurisé


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 109
    Points : 46
    Points
    46
    Par défaut Inscription et identification sécurisé
    Bonjour à tous,

    Je suis en train de créer un gros site et je veux faire des zones membres.

    Quelqu'un connaitrais un Tuto ou une façon de procéder pour créer des identifications sécurisés (Cryptage du MDP dans las base, sécurité sur les zones de texte, utilisation spécifique des variables SESSION, etc...) ?

    Merci d'avance.

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2010
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 144
    Points : 241
    Points
    241
    Par défaut
    Concernant l'encodage des passwords dans la base de données j'ai pris l'habitude de concaténer un "salt" (chaine de 10 caractères alphanumériques aléatoire) avec le password, le tout encoder en SHA1, soit :
    Le salt est stocké dans la table des utilisateurs.

    Je laisse d'autre personnes répondre sur les autres points.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 109
    Points : 46
    Points
    46
    Par défaut
    Merci je vais jeter un coup d’œil la dessus

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 109
    Points : 46
    Points
    46
    Par défaut
    Alors j'ai bien réussi à encoder mon pass :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $password_crypte = sha1(sha1($password).$salt);
    Ensuite, quand l'utilisateur tapera son mdp pour ce loger, je dois encoder sa frappe de la même manière et comparer ?

  5. #5
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    juste quelques infos pour bien comprendre la notion de "sécurisé":
    • il n'existe aucune fonction de cryptage native en php, compatible avec mysql...
    • md5,sha1, etc... sont des fonctions de hashage... en aucun cas des fonctions de cryptage...
    • si tu veux faire une vraie zone sécurisée: ssl (tu cryptes l'échange), cryptage coté mysql (mot de passe) avec les fonction de cryptage (je te conseille AES, meilleure, ou DES, un peu moins sécurisée)...

    md5 et sha1 sont cassables car on peut générer une collision: étant donné que plusieurs valeurs peuvent donner la même clé de hash, il suffit de trouver une des valeurs et non pas la valeur initialement utilisée...
    comme ça ne se fait pas "au hasard", il existe des méthodes pour trouver une solution assez rapidement...

    si tu veux utiliser ces fonctions confondues avec des système de cryptage, il faut impérativement limiter le nombre de tentative et bloquer l'IP pendant un certain temps ou définitivement (mais c'est pas conseillé vu que la majorité des gens ont une IP non fixe)...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 35
    Points : 26
    Points
    26
    Par défaut
    Salut eric,

    Tu parles de SSL pour le cryptage mais ceci n'as rien a voir avec le code. C'est, a ma connaissance un protocole d'echange client serveur utilisant le port 443 au lieu du port HTTP classique le 80 et donnant lieu au protocole HTTPS.

    Ceci est une affirmation mais aussi une question, je serais ravi d'en apprendre a ce sujet, n'étant pas expert en ce domaine.

  7. #7
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    oui et non

    car tu peux tester comment les échanges sont fait en php par exemple, garantir que ssl est bien activé...

    selon les réglages et comment tu te connectes (openssl ou openid entre 2 serveurs ou simple communication client/serveur) tu dois faire plus ou moins de choses...

    si on est dans un échange client/serveur classique, en effet, c'est la couche apache qui se débrouille avec le client... toi tu dois juste tester que le protocole est bien actif pour la communication entre php et client pour être sur que l'échange est bien crypté...

    la différence c'est aussi la rapidité d'encryptage/décryptage:
    • ssl c'est du rsa, algorithme de cryptage à clé publique, donc plus lourd et dur à casser (à utiliser généralement pour les transactions sensibles)
    • AES utilisé pour le cryptage de documents ou identifiants, tu utilises là aussi une clé de cryptage, privée, mais il faut aussi éventuellement choisir différents paramétrages pour que ça marche (qui peuvent être figés lors de l'implémentation comme dans le cas de mysql)...
    • 3DES, la seule implémentation du DES qui résiste encore un peu à un cassage rapide, le DES étant trop facile à casser avec les machine actuelles... aucune clé à échanger

    que tu codes le message complet via ssl ou par un protocole en clair que tu chiffres à la main ça revient au même...
    après faut adapter au besoin selon que tu veux un canal sécurisé ou juste du ponctuel... et aussi la taille des échanges que ça engendre...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 35
    Points : 26
    Points
    26
    Par défaut
    Voila qui m'éclaire,

    Merci eric

Discussions similaires

  1. [1.x] formulaire d'inscription sécurisé
    Par Mordri dans le forum Débuter
    Réponses: 16
    Dernier message: 25/05/2011, 11h30
  2. [Ergonomie] Image identification inscription
    Par zorian dans le forum Webdesign & Ergonomie
    Réponses: 1
    Dernier message: 28/06/2006, 21h22
  3. [SSL] Formulaire d'identification sécurisé
    Par akecoocoo dans le forum Sécurité
    Réponses: 1
    Dernier message: 05/01/2006, 17h59
  4. Portail avec Paiement Sécurisé
    Par LLaurent dans le forum XMLRAD
    Réponses: 2
    Dernier message: 20/02/2003, 17h27
  5. identification lettre (pb accent)
    Par scorbo dans le forum C
    Réponses: 5
    Dernier message: 14/12/2002, 02h59

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