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

Bases de données Discussion :

Authentification à une base de données distante


Sujet :

Bases de données

  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut Authentification à une base de données distante
    Bonsoir,

    J'ai un projet à rendre pour mes études.

    Dans ce projet, je dois faire communiquer un client (Qt/C++) avec une base de donnée distante. En gros l'application s'authentifie à un compte se trouvant sur le serveur (genre msn ou skype quoi).

    J'aimerais connaitre les moyens de faire ça. Pour le moment je peux facilement me connecter avec QSql, mais l'authentification (hôte,passwd et user) est en dur dans le code. Comme je pourrais pas laisser ça comme ça pour des raisons évidentes de sécurité, j'essaie de trouver un moyen sûr de m'authentifier.

    Par exemple, y a t-il moyen d'envoyer une requête au serveur distant qui vérifierais l'authentification?
    Genre:
    1. Client envoie login et password à Serveur.
    2. Serveur vérifie
    3. Si ok, Serveur envoi paramètres de connexion à la base de donnée.

    Bien sur j'ai imaginé ça, mais en vrais ça donne quoi? Sachant que mon seul but est de pouvoir me connecter à la base de donnée distante depuis mon client local.
    Je vous demande pas un travail tout maché, juste le début ou les outils que je devrais utiliser.
    J'aimerais vraiment une réponse, j'ai trouvé beaucoup d'infos sur le net (ssl et compagnie) mais je sais pas par où commencer. merci d'avance pour vos réponses.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    je ne saisi pas bien quel est ton problème.
    tu arrives à te connecter avec les paramètres rentrés en dur dans le code, et bien il suffit de demander ses paramètres à l'utilisateur via une boite de dialogue puis d'envoyer l'authentification via un slot ?!

    est-ce que ça répond à ton problème?

  3. #3
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut
    Comment envoyer ces identifications à un serveur?

    Mon prog est en Qt/C++, le serveur distant est en php/mysql.

    C'est tout la mon problème, je veux pouvoir interroger le serveur depuis mon logiciel client. Comment m'y prendre?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    peux-tu nous montrer ton code d'authetification qui fonctionne "en dur" ?
    il est écrit en Qt/C++ si j'ai bien compris

  5. #5
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut
    oui pour le moment c'est en dur comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     QSqlError err;
            db = new QSqlDatabase();
            *db = QSqlDatabase::addDatabase("QMYSQL", QString("Browser"));
            db->setDatabaseName("tests");
            db->setHostName("sql5.easy-hebergement.net");
            if (!db->open("monlogin", "monpasswd")) {
                err = db->lastError();
                *db = QSqlDatabase();
                QSqlDatabase::removeDatabase(QString("Browser"));
                QMessageBox::critical(this,"Erreur Connection",err.text());
            }
    Mais je pense avoir un début de solution, on m'a aiguillé sur QtSoap. Ca fait deux jours que je me tappe la doc à ce sujet là, j'ai déjà un retour xml prometteur.
    Un prof de Java à qui j'ai parlé de ce prob a cité Corba, et il se trouve que c'est dans le même esprit que Soap. Donc je pense que ça pourrait marcher.

    J'ai plus qu'a adapter ça de manière intelligente.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    je ne connaissais pas QtSoap mais ça à l'air de bien coller avec ce que recherches.

    sinon il y a plus bourrin (et peut être plus simple à voir) en passant par une simple requête via QTcpServer mais dans ce cas là il faudrait que tu puisses modifier le soft coté serveur, est-ce le cas ?

  7. #7
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut
    c'est un soft en qt qui gère cette classe non? Il faudrait un serveur dédié pour ça, ce qui est impossible (trop cher, trop gros pour mon projet).
    Coté serveur je veux me limiter à php/mysql.
    D'un autre coté, SOAP sera une valeur ajoutée à mon projet.

    Maintenant je sais pas si chacune de mes requêtes devrait passer par soap (ce qui serait apparemment lourd), ou si juste envoyer les paramètres de connexions à la db serait suffisant...

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par atomicJo Voir le message
    tu arrives à te connecter avec les paramètres rentrés en dur dans le code, et bien il suffit de demander ses paramètres à l'utilisateur via une boite de dialogue puis d'envoyer l'authentification via un slot ?!
    y as un truc qui doit m'échapper.. j'aurais répondu la même chose que toi;

    Pourquoi vouloir utiliser Qt Soap ou corba ici???

  9. #9
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut
    Citation Envoyé par yan Voir le message
    Pour quoir voir utilise Qt Sap ut corba ici???
    houla, samedi soir arrosé? .

    La seule chose que l'utilisateur possède c'est son login et son mot de passe, pour son compte uniquement. Je vais quand même pas demander à l'utilisateur d'entrer les identifiants et mot de passe de la base de données? enfin je crois .

    Quant a ces identifiants, je veux pas les laisser dans le code source. Une fois compilé on pourrais retomber dessus facilement par rétro-ingénierie.

    Enfin, je sais que c'est un projet parmi des milliers d'autres et que tout le monde se fout de ces identifiants, mais j'ai pas envie qu'un membre du jury me tombe dessus avec ça .

  10. #10
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par h3llmo Voir le message
    houla, samedi soir arrosé? .
    problème de clavier.... (j'ai un o qui foire)

    Tu devra bien à un moment ou un autre le lui demander. Ce que tu peut faire, c'est de demander le login et mot de passe une seule fois. Après c'est toi qui le sauvegarde précieusement dans fichier ou autre, crypté ou pas crypté.
    Tu récupère l'info au démarrage. Tu n'aura plus besoin de le mettre dans le code.

  11. #11
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut
    mouais... je saisi pas pourquoi ce serais à l'utilisateur d'entrer les identifiants de la base de donnée. Il ne devrait s'occuper que de son compte.

    Le fichier chiffré sur le coté qui contiendrais les identifiants de la base de donnée était une option. Un prof m'a conseillé tout de même de réaliser l'authentification coté serveur qui lui serais plus sécurisé.

    M'enfin je suis ouvert à tout, j'y réfléchis, j'ai encore tout mon temps

  12. #12
    Membre très actif
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Par défaut QtSaop
    Bonjour
    Pourquoi utiliser QtSoap, on passe directement du coté obscure de la force, il suffirait de mettre une boite de dialogue pour saisir le nom utilisateur et le mot de passe je crois.
    Cordialement

  13. #13
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut
    Citation Envoyé par buggen25 Voir le message
    Bonjour
    Pourquoi utiliser QtSoap, on passe directement du coté obscure de la force, il suffirait de mettre une boite de dialogue pour saisir le nom utilisateur et le mot de passe je crois.
    Cordialement
    D'accord, je met une boite de dialogue, le mec entre son login et son mot de passe

    ça doit être une des première chose que j'ai faite:


    mais ensuite comment on fait gros malin ? Les paramètre sont hébergés dans une base de donnée distante, alors il suffit de quoi en fait?

  14. #14
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par h3llmo Voir le message
    mouais... je saisi pas pourquoi ce serais à l'utilisateur d'entrer les identifiants de la base de donnée. Il ne devrait s'occuper que de son compte.

    Le fichier chiffré sur le coté qui contiendrais les identifiants de la base de donnée était une option. Un prof m'a conseillé tout de même de réaliser l'authentification coté serveur qui lui serais plus sécurisé.

    M'enfin je suis ouvert à tout, j'y réfléchis, j'ai encore tout mon temps
    j'ai rien compris à ce que tu veut faire alors....
    peut tu reexpliquer rapidement?

  15. #15
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut
    je veux enregistrer les paramètres et les images de personnes dans un serveur distant. Pour qu'il puisse y avoir accès depuis n'importe quel PC avec le logiciel client.

    Exemple:
    -l'addon de firefox : weave. Qui synchronise les favoris pour l'instant, mais devrait aller plus loin.

    -msn pourquoi pas: un compte, on se connecte.

    -Evernote: ça se rapproche déjà plus de mon but.

    Donc toutes les infos du compte utilisateur sont bien distantes et stockées quelque part? Et il faut pouvoir les rapatrier.

    C'est là où je ne sais pas du tout comment on fait pour sécuriser ce genre d'échange entre le client et le serveur.

    Voilà, je pensais pas avoir été aussi vague, désolé .

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    pour résumé (et si j'ai bien compris) tu cherches un moyen d'envoyer une requete dauthentification (via Qt) auprès d'un serveur php/mySQL que tu ne peux modifier ?

    je ne crois pas que Qt propose ceci par contre je ne connais pas QtSoap donc à toi de voir si il le permet

  17. #17
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut
    je peux modifier coté serveur, mais seulement en php/mysql. Je peux pas mettre un serveur "Qt" (ce qui faciliterais la tâche surement).
    Je dois donc m'authentifier sur un serveur php avec un logiciel Qt.

    QtSoap répond à toute mes attente pour le moment.

Discussions similaires

  1. [VB6]connexion à une base de données distant via ADO
    Par alaminabil1 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/02/2006, 12h11
  2. [MySQL] Accéder à une base de données distante en local
    Par kint dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/01/2006, 13h40
  3. Delphi Connexion à une base de donnée distante par TCP/IP
    Par viecel dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/01/2005, 19h19
  4. Exécutable gérant une base de données distante via internet
    Par paulgiot dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/07/2004, 14h00
  5. connexion a une base de donnée distante mysql(site internet)
    Par rollernox dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/07/2004, 13h14

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