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

Android Discussion :

comparaison ResultSet avec EditText


Sujet :

Android

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 20
    Par défaut comparaison ResultSet avec EditText
    Bonjour,

    Pour le moment je me connecte a ma base de donnée et j'aimerais maintenant faire une interface de connexion qui compare donc mes EditText (identifiant et password) a mes deux ResultSet (connect et pass)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
     connection = (Button)findViewById(R.id.connect);
            connection.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    identifiant = (EditText)findViewById(R.id.makeident);
                    String essai = identifiant.getText().toString();
                    Toast.makeText(MainActivity.this, essai,Toast.LENGTH_LONG).show();
                    password = (EditText)findViewById(R.id.makepass);
                    String essai2 = password.getText().toString();
     
     
                    try {
                        connect =   test1.executeQuery("SELECT nom FROM login");
                    } catch (SQLException e) {
                        e.printStackTrace();
                        Log.i(Message, "pas de requete login");
     
                    }
                    try {
                        pass = test2.executeQuery("SELECT password FROM login");
                    } catch (SQLException e) {
                        e.printStackTrace();
                        Log.i(Message,"pas de requete password");
                    }

    Donc pour le moment lorsque je clique sur mon bouton cela lance ma requete.

    Ce que je souhaite faire c'est de comparer mon resultset a mon EditText crée précédemment.
    Donc si jamais le résultat est similaire alors j'ouvre une nouvelle page.

    Avez vous des idées pour m'aider a résoudre ce souci ?

    merci d'avance ?

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Tu crées une brêche de sécurité en faisant ça.
    Pour ton couple login/password, tu envois celui-ci au serveur, et le serveur te répond ensuite OK ou KO. Tu n'as rien de plus à faire côté application, et surtout pas traiter une quelconque similitude envers des données renvoyées. Je suis un attaquant, je vois une application fonctionnant ainsi, je fais en sorte de sniffer le réseau ou je regarde les traces pour savoir quels sont les identifiants qui passent.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 20
    Par défaut
    mince du coup je dois trouver autre chose pour faire mon interface de connexion car pour mon projet on me demande de sécuriser l'appli avec justement une demande d'identification .

    Je pensais pouvoir me connecter sur ma base de donnée et ensuite faire une requête de comparaison.

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    La vérification se fait au niveau du serveur.

    L'utilisateur rentre ses identifiants sur l'application.
    A la validation, ces informations sont envoyées au serveur.
    Celui-ci vérifie que ces informations sont correctes.
    SI elles sont correctes, il répondra (exemple) par une requête HTTP HEAD (sans corps) ayant un code 200
    SI elles sont INcorrectes, il répondra (exemple) par une requête HTTP HEAD (sans corps) en 403 ("accès non-autorisé").
    Côté application, tu interpréteras le retour.
    SI 200 => authentification réussie.
    SI 403 => authentification ratée.

    Par sécurité, on ne se connecte JAMAIS en direct à une base de données distante. On crée une API qui la manipule, ce qui permet de limiter les interactions "du monde" sur la BDD. De plus, cette API utilise un (ou plusieurs) utilisateur(s) dédié(s) ayant des droits limités pour requêter sur la base de données, dans le but de réduire les injections SQL (déjà rendue plus complexes).
    Ce sont les lignes "A la validation, ces informations sont envoyées au serveur." & "Celui-ci vérifie que ces informations sont correctes.". Les informations sont envoyées au serveur via cette API. Le serveur répond ensuite selon le formalisme voulu.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

Discussions similaires

  1. Problème comparaison objets avec equals
    Par belkasmi dans le forum Langage
    Réponses: 8
    Dernier message: 01/08/2007, 17h39
  2. [API Windows] Probleme avec EDITTEXT et LISTBOX
    Par Dev-FX dans le forum Windows
    Réponses: 6
    Dernier message: 27/12/2006, 13h42
  3. Pb ResultSet avec une connexion ODBC MS SQL Server
    Par Néo-Tony dans le forum JDBC
    Réponses: 17
    Dernier message: 24/01/2006, 13h48
  4. [comparaison] probleme avec les accents
    Par Bibicmoi dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 29/08/2005, 20h51
  5. Comparaison JBuilder avec Sun ONE Studio
    Par chichos dans le forum EDI et Outils pour Java
    Réponses: 4
    Dernier message: 13/11/2002, 15h08

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