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

Langage Delphi Discussion :

Protection distante par internet


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 24
    Points
    24
    Par défaut Protection distante par internet
    Bonjour et bonne année 2008 !!!

    Je voudrais créer une application qui avant de démarrer vérifierai l'existance d'un fichier sur un serveur distant (par exemple chez OVH), ou d'une clé dans une base de donnée SQL (toujours chez OVH) et qui insere dans la base de registre la date d'utilisation du logiciel.

    Si toutes ces étapes se déroulent sans problème alors le logiciel se lance, sinon, un message d'erreur apparait et dit que l'on ne peux plus utiliser le logiciel.

    Auriez vous une idée de comment faire ???

    Vous me direz, que l'inconvenient est qu'il faut avoir internet, mais de toute façon, c'est un logiciel qui ne sera utile que si l'on possède internet.

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Ben insère ton code de vérifications dans le begin..end. du dpr, avant la création de toutes les fiches.
    Pour récupérer un fichier depuis Internet, utilise le composant TIdHTTP ou TIdFTP selon le protocole utilisé.
    Pour gérer des transactions avec une BD, même distante, utilise les composants classiques d'accès aux BD.

    Au fait, je dis ça je dis rien, mais une simple redirection des DNS ou un IP trafiqué permettent de casser ta protection (bon d'accord faut savoir le faire, mais pour les DNS par exemple c'est très simple).
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par sjrd Voir le message

    Au fait, je dis ça je dis rien, mais une simple redirection des DNS ou un IP trafiqué permettent de casser ta protection (bon d'accord faut savoir le faire, mais pour les DNS par exemple c'est très simple).
    Hum... Pourrais-tu approfondir un peu ca stp, car je ne comprend pas comment un utilisateur pourrais casser la protection si la connexion à l'ip est codée en dur dans le code ?

  4. #4
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Ben il suffit de donner en IP fixe l'IP concernée à l'ordinateur local
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  5. #5
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    Citation Envoyé par molini_a Voir le message
    Hum... Pourrais-tu approfondir un peu ca stp, car je ne comprend pas comment un utilisateur pourrais casser la protection si la connexion à l'ip est codée en dur dans le code ?
    Il ne faut jamais coder une ip en dur dans un soft. => Ton hebergement peux changer, voir ton hebergeur peut être amené (rarement) à déplacer ton site sur un autre serveur.
    Il faut toujours utiliser un nom dns.

    Par contre, le nom dns comme l'ip sont facilement truandable => à ta charge de t'assurer que le serveur que tu contacte est bien ton serveur et que le dialogue entre les 2 n'est pas écouté => cryptage obligatoire .

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 24
    Points
    24
    Par défaut
    et quel serait le meilleur composant pour ajouter une donnée dans une table mysql distante ???

  7. #7
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    une protection mise en place par des composants Delphi sur une connexion de ce type n'est en effet pas bien compliquée à contourner. Mais ça demande de s'y connaitre un minimum

    mais il faut garder à l'esprit que l'utilisateur légal ne pourra pas utiliser le produit si sa connexion internet merde, si OVH est en maintenance, si le service informatique est trop occupé pour ouvrir l'accès (surtout s'il est crypté), etc..etc...

    il faut donc bien réfléchir à l'importance de cette protection avant d'ennuyer les bons clients
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  8. #8
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    Citation Envoyé par molini_a Voir le message
    et quel serait le meilleur composant pour ajouter une donnée dans une table mysql distante ???

    Tout dépend si le port de serveur Mysql est ouvert.Généralement ce n'est pas le cas.
    d'autre part, si le client utilise un proxy HTTP uniquement, comme dans certaines entreprises, ton soft ne pourra pas se connecter

    Le moyen le plus standard, c'est une requete HTTP sur le serveur web. par exemple, accès à une page PHP en postant les infos d'activation
    et c'est le serveur web qui écrit dans mySQL

  9. #9
    Membre régulier Avatar de newbie57
    Inscrit en
    Juin 2005
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Juin 2005
    Messages : 124
    Points : 92
    Points
    92
    Par défaut
    Citation Envoyé par molini_a Voir le message
    et quel serait le meilleur composant pour ajouter une donnée dans une table mysql distante ???
    Comme l'a dit sjrd les composants d'Indy IdHTTP ou IdFTP font bien l'affaire. Grâce à quelques pages php que tu as sur ton serveur (pour manipuler ta base) et ces composants tu peux parfaitement mettre à jour ta base de données depuis ton application. Ils sont faciles à manipuler mais leur soucis c'est qu'ils sont bloquant, même avec un anti-freeze, et ne rend la main que lorsqu'il reçoit une info ou un time out.

    Dans ce cas il existe des composants semblables chez ICS qui, eux, sont non bloquant.

    Si tu souhaite plus d'information à ce sujet, sub0 a fait de nombreux topics et m'a bien aidé à mes débuts.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 24
    Points
    24
    Par défaut
    merci beaucoup les amis, et pour les personnes qui s'interresseraient à ce type de protection voilà les sources que j'ai utilisé :
    Envoie d'une requete sql par un serveur distant:
    http://sub0.developpez.com/delphp/index.php
    Plus qu'à mettre resolu ^^ !!!

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

Discussions similaires

  1. Connexion distante par internet
    Par Socrat dans le forum Firebird
    Réponses: 4
    Dernier message: 11/02/2008, 21h25
  2. [WINDOWS] Développer un chat par internet (non en local !!)
    Par cyber_N dans le forum Développement
    Réponses: 13
    Dernier message: 29/10/2005, 15h02
  3. Créer un réseau par Internet
    Par FoxDeltaSierra dans le forum Administration
    Réponses: 4
    Dernier message: 23/09/2005, 17h29
  4. 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
  5. 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

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