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

MySQL Discussion :

mysql sécurité : quelle solution adopter


Sujet :

MySQL

  1. #1
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut mysql sécurité : quelle solution adopter
    Bonjour à tous,
    je viens d'achever le développement d'un projet html/mysql que j'héberge actuellement chez FREE.
    L'accès est actuellement protégé par un fichier .htaccess.

    L'application va être déposé chez un hébergeur pro, OVH, et je souhaiterai protéger l'accès à la base.
    Comment faire est il toujours possible d'utiliser un htaccess ou faut il creer une table contenant le login et pwd des utilisateurs autorisés ??


    De plus, la base contient une table avec des informations personnelles sur des individus : nom, prénom, ddn etc... que je souhaiterais crypter.
    Comment procéder pour crypter cette table ss mysql
    ??

    Je débute et j'avoue ne pas savoir trop par quel bout y prendre

    Merci d'avance.

  2. #2
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Citation Envoyé par benilto Voir le message
    Bonjour à tous,
    L'application va être déposé chez un hébergeur pro, OVH, et je souhaiterai protéger l'accès à la base.
    Comment faire est il toujours possible d'utiliser un htaccess ou faut il créer une table contenant le login et pwd des utilisateurs autorisés ??

    [B]
    Oui je crois que le mieux serais d'utiliser une table pour l'authentification et l'accès a ton site.

    Citation Envoyé par benilto Voir le message
    De plus, la base contient une table avec des informations personnelles sur des individus : nom, prénom, ddn etc... que je souhaiterais crypter.
    Comment procéder pour crypter cette table ss mysql ??
    Je crois qu'a ce niveau tu sera obliger de crypter tes données au niveau de l'application.
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  3. #3
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut
    Bonjour et merci de ta réponse,
    après avoir un peu réfléchi je pense conserver le mode d authentification via .htaccess car je souhaite que seulement quelques personnes désignées puissent accéder au service.

    Par contre, je souhaiterais effectivement crypter les données sensibles, comment faire ? utiliser <?php echo crypt('mes donnees saisies par user'); ?> ??

    Quel fonction de cryptage utiliser ??comment faire ??
    Quel niveau de sécurité est offert ?

    merci d'avance.

  4. #4
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut
    si quelqu'un sait comment crypter les données sensibles, cela m'intéresse...

    merci

  5. #5
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 564
    Points : 7 285
    Points
    7 285
    Par défaut
    Bonjour.

    Pour ce qui est du mot de passe, tu peux utiliser une fonction de hashage: le résultat est irréversible (dans la pratique, selon les algorithmes, il est possible de générer des collisions, par exemple avec des tables arc-en-ciel. Mais il existe des parades: les grains de sel).

    Du coup quand l'utilisateur saisit son login et son mot de passe, tu vas chercher dans la base le couple login, hash(mot de passe) qui correspond.
    Tu as plusieurs fonctions de hashage au sein de MySQL: dont md5() et sha1()

    Pour augmenter la sécurité de ces fonctions (en particulier de md5), tu peux générer pour chaque création de compte un "grain de sel", que tu stockera en base avec le compte, ainsi qu'une clé (constante) que tu stockera cette fois au niveau de ton application. Ainsi tu pourrais par exemple hacher ton mot de passe de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $hash_pwd = md5($pwd.md5($sel.$pwd).$cle)
    (il s'agit bien entendu d'un exemple et tu es libre de choisir l'ordre etc. L'idée étant que comme deux chaines très similaires ont des hash très différents, en modifiant l'empreinte de ton hash, le cracker ne peut pas retrouver le mot de passe car il ne sait pas ce qu'il doit chercher)

    Pour ce qui est de crypter/décrypter tes données, tu peux utiliser AES_ENCRYPT() et AES_DECRYPT() par exemple. (il te faudra bien entendu définir une clé pour crypter et décrypter tes données, le mieux étant qu'elle soit stockée au niveau de l'application)
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  6. #6
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut
    merci e ta réponse
    benilto

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

Discussions similaires

  1. WCF <-> Axis2 : types complexes, quelle solution adopter?
    Par mkton dans le forum Windows Communication Foundation
    Réponses: 0
    Dernier message: 24/08/2009, 11h22
  2. Réponses: 7
    Dernier message: 18/02/2008, 14h33
  3. Java vers serveur Php/Mysql, quelle solution ?
    Par Mordoum dans le forum Général Java
    Réponses: 7
    Dernier message: 22/01/2008, 11h04
  4. Réponses: 4
    Dernier message: 10/06/2006, 10h04
  5. [Constantes] Quelle solution adopter ?
    Par animageo dans le forum Général Java
    Réponses: 16
    Dernier message: 10/02/2005, 11h43

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