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

C# Discussion :

[c#][debutant] maitriser diffusion de son application


Sujet :

C#

  1. #1
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut [c#][debutant] maitriser diffusion de son application
    Bonjour,
    j'aimerai pouvoir diffuser individuellement (à ma demande) une application, seulement , est-il possible d'empecher l'utilisateur de redistribuer mon applcation ?
    Je pensais pour limiter la casse d'utiliser des licenses (.lic), mais je ne sais pas comment ca fonctionne.
    Aussi, vu que l'application tourne online, y a t-il moyen qu'elle se connecte à un serveur qui à son tour lui renvoiera la permission de se lancer.
    Voilà merci.
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

  2. #2
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Une solution simple serait de faire que comme ton appli est online, elle demande un login + mot de passe au client spécifiques pour chacun et le serveur lui répond si elle se quitte ou si elle peut tourner... Je ne sais pas si c'est super sécurisé mais en tout cas ça a le mérite d'être simple Après, la question à se poser est si tu veux que ton appli s'exécute pour un client ( personne ) ou pour un Ordinateur... Là le problème est différent

    En tout cas, donnes plus de détails... A quel type de serveur se connecte-t-elle ? HTTP ? FTP ? Autre ? Est-ce toi qui as codé le serveur ou utilises-tu un serveur déjà codé ?

  3. #3
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    yo Deus
    Après, la question à se poser est si tu veux que ton appli s'exécute pour un client ( personne ) ou pour un Ordinateur
    >je pensais plus à un serveur distant qui hebergerait ma page web par exemple.
    A quel type de serveur se connecte-t-elle ?
    >là je ne suis pas connaisseur, mais je pense que tu demandes si c'est du type apache ou autre ? En fait je voulais m'essayer à l'asp et heberger ma page sur http://www.7host.com (gratuit).
    HTTP ? FTP ? Autre ?
    >HTTP serait le mieux nan ? c'est moins lourd a gerer que du ftp depuis une appli c#.
    Est-ce toi qui as codé le serveur ou utilises-tu un serveur déjà codé ?
    >si c'est sur un serveur hebergeur, je ne m'occupe pas de ca je pense ?

    Merci bien
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

  4. #4
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Moi ce que je ferais c'est pas compliqué ( je vais te présenter les grandes lignes ) :
    Tu fais un script côté serveur en PHP ( je dis PHP car je connais rien à l'ASP ) qui se connecte à une base de donnée comme SQL ( je dis SQL car je connais SQL lol mais là encore, c'est côté serveur et c'est toi qui choisis ).
    Par exemple, un site http://monsite.com possède un script auth.php qui a deux paramètres, login et pass... Ainsi, si le login existe et que le pass est le bon, il retourne OK et sinon, il retourne WRONG... ( c'est un exemple ultra simplifié ).

    Pour ce qui est côté client, le moyen le plus simple ( l'API la plus gentille et mignonne à mon gout ) est le WebClient... Un WebClient c'est très simple, tu trouveras plein d'infos sur Internet et ça se manipule comme un StreamWriter/Reader ( donc vraiment très simple ) sans que tu ais à te préoccuper des headers ou de quoi que ce soit !

    @+,
    DeusXL

  5. #5
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    grand merci à toi Deus !!! et vive le php
    je vais essayer ca ce w-e.

    edit:comment s'assurer que la confirmation de l'autorisation de l'application viendra bien du site ? Y'a pas des systeme d'authentification de la provenance d'un message ?
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

  6. #6
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    ( désolé je n'avais pas vu l'edit )
    Citation Envoyé par orelero
    comment s'assurer que la confirmation de l'autorisation de l'application viendra bien du site ? Y'a pas des systeme d'authentification de la provenance d'un message ?
    A partir du moment où ton application utilise le serveur Web pour se connecter, je vois pas d'où peux venir le problème Tu rédiges juste un script d'authentification et tu t'y connectes pour vérifier le mot de passe... Mais sinon tu peux toujours appliquer des millions de cryptages très pas utiles

    Donc précises un peu ton problème stp.

    DeusXL.

  7. #7
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    en fait, c'est pas vraiment un probleme, c'est juste que je me demandais si des petits malins arriveraient à intercepté sur un port le message renvoyé par le serveur quand il valide l'authentification: ainsi, quelqu'un qui aurait pu se procurer le programme mais qui n'a pas d'identifiant+mot de passe pourrait crocheter le message arrivant qui dit qu'il ne peut pas utiliser le programme, par le message qui dit le contraire. C'est tordu mais je vois pas trop pourquoi ca ne serait pas possible :-/
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

  8. #8
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Ca je ne sais pas vraiment... J'ai jamais recherché une sécurité vraiment importante lorsque j'affichais des pages Web.
    Mais par contre, ton logiciel une fois l'authentification achevée continuera à se connecter sur ton serveur ou travaillera en local ? ( il m'a semblé comprendre qu'il continuerait à travailler sur ton serveur ).
    Si oui alors tu peux faire un système de sessid pour être sûr que le client qui est connecté s'est bien authentifié mais là on déborde du cadre de .NET (puisque ça se coderait en PHP ou ASP)... encore que si c'est en ASP .NET

  9. #9
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Bonjour
    Je suis reellement interressé par votre echange car je ne me suis encore jamais penché sur ce sujet de façon détaillée. Bien que je n'ai pas toujours dans vos propos trouvé mon compte avec l'intervention du php.
    J'aimerai pouvoir abuser de votre propre reflexion et de celle de ceux qui se joindront à la discussion pour reprendre le sujet d'un point de vue plus conceptuel (dégagé si possible des acpects techno).
    Donc si je reprend, nous avons:
    • 0. une application web : interface de telechargement et d'echanges de données client/produit/...
      1. une base de données : ici je me pose la question des infos necessaires - client - produit - machine
      2. une application d'installation: : ici je me pose la question d'une clé d'activation du produit
      3. une solution logicielle : ici je me pose la question de distinguer le monoposte du multiposte

    J'espère que cette trame est lisible est contructive pour la suite.
    En vous remerciant de votre partage
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    Personnellement je ferai:
    • - Application web qui régule les téléchargements et qui recupère toutes les infos des clients dans une base de données type SQL (ou autre eventuellement)
      - Verification par le logiciel que la clé est bonne en communiquant avec l'application web de facon crypter (DES ou AES de preference) et de façon la plus sécurisée possible, en envoyant des informations sur le client(os, ip, nom du pc, taille exe du programme)
      - Application web qui vérifie dans la base sql si plusieurs personnes differentes utilisent la meme clé (verification de l'ip, os, ect...)
      - Intégrer dans le programme des vérifications differentes régulières de la clé (ex: verification de la clé dans des fonctions differentes comme lors de "ouverture d'un fichier")
      Checksum des fichiers et de l'exe du logiciel pour ne pas qu'il soit modifié. http://fr.wikipedia.org/wiki/Checksum


    Attention je ne suis pas sûr que tout cela soit possible

  11. #11
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    neguib, je suis plus interessé par les clées d'acivations, mais j'ai aucune connaissance la dedans. Quand je programmais en java, j'utilisais des wrapper de codes natifs mais qui étaient payants dans un cas et gratuit dans le cas où on prenait une license d'essai(fichier .lic valable 30jours). Je me demande comment utiliser un tel generateur de license .Apparement c'est trés fiable niveau securité.
    Pour revenir à la connection à un serveur pour s'authentifier (connection juste temporaire: permet juste de voir si l'individu a le droit d'utiliser le programme), je suis comme Guillaume, je pense que la base de donnée devra associer à un utilisateur toutes ses caracteristiques (nom de l'ordinateur, adresse mac, os, config...).Comme ca les utilisateurs ne pourront pas refiler le login.
    J'espere que ca vous fait pas trop rire, parceque c'est archaique comme solution

    ps:
    Le logicielle verifie que la cle est bonne en communiquant avec l'application de facon crypter
    >Je sais pas comment activer une communication criptée entre une appli c# et un serveur
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

  12. #12
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut Re: [c#][debutant] maitriser diffusion de son application
    Citation Envoyé par orelero
    Bonjour,
    j'aimerai pouvoir diffuser individuellement (à ma demande) une application, seulement , est-il possible d'empecher l'utilisateur de redistribuer mon applcation ?
    Je pensais pour limiter la casse d'utiliser des licenses (.lic), mais je ne sais pas comment ca fonctionne.
    Aussi, vu que l'application tourne online, y a t-il moyen qu'elle se connecte à un serveur qui à son tour lui renvoiera la permission de se lancer.
    Voilà merci.
    Sinon, une application Web :

    Comme ca, rien n'est sur le poste client...

  13. #13
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut Re: [c#][debutant] maitriser diffusion de son application
    Citation Envoyé par Morpheus
    Citation Envoyé par orelero
    Bonjour,
    j'aimerai pouvoir diffuser individuellement (à ma demande) une application, seulement , est-il possible d'empecher l'utilisateur de redistribuer mon applcation ?
    Je pensais pour limiter la casse d'utiliser des licenses (.lic), mais je ne sais pas comment ca fonctionne.
    Aussi, vu que l'application tourne online, y a t-il moyen qu'elle se connecte à un serveur qui à son tour lui renvoiera la permission de se lancer.
    Voilà merci.
    Sinon, une application Web :
    Comme ca, rien n'est sur le poste client...
    comme çà il peut distribuer son accès c'est çà
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  14. #14
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    une application web je ne pourrai pas puisque mon application est deja presque finie et s'execute que du coté client .
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    >Je sais pas comment activer une communication criptée entre une appli c# et un serveur
    Tu peux deja crypter les packets en utilisant un algorythme de cryptage present dans le framework telle que DES ou autre.Et il suffira des les decrypters quand il arrive a l'application web.

    Sinon je n'ai acune idée(je sais meme pas si c'est possible) de comment faire une connexion securisée de type Ssl a partir d'une application windows.

  16. #16
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    Mon intervention est peut-etre un peu Hors sujet, mais pour des applications totalement Offline, j'ai pu réussir à mettre en place une solution assez forte, basée sur du chiffrement, et autorisation sur échange de mails.

    Cette solution garantit qu'une application ne peut tourner que sur la machine sur laquelle elle y a été autorisée, et pour un certain temps donné.

    (Cf le lien dans ma signature pour tester, si vous le souhaitez)
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

  17. #17
    AP
    AP est déconnecté
    Membre confirmé
    Avatar de AP
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 480
    Points : 538
    Points
    538
    Par défaut
    tu pourrais nous en dire un peu plus sur l'architecture de ta solution de controle de licence Harry ?
    Merci

  18. #18
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    1) L'appli regarde si un fichier de licence existe
    2) si il n'existe pas, demande de remplir certains champs "Nom, prénom, etc..."
    3) Elle génère une clef unique propre à la machine.
    4) sur validation de l'utiliasteur elle m'envoit ces infos par mail + la clef, le tout sous forme illisible par une tierce partie.
    5) Je recupère le flot de donnée contenu dans le mail, et génère un fichier de licence via la clef.
    6) Je renvoie ce fichier de licence à l'utilisateur, qu'il copie à coté de son .exe
    7) L'application un fois lancée, va retrouver des informations dans ce fichier de licence en utilisant la clef, si elle n'obtient pas ces données, l'application s'arrête.

    ouala
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

  19. #19
    AP
    AP est déconnecté
    Membre confirmé
    Avatar de AP
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 480
    Points : 538
    Points
    538
    Par défaut
    3) Elle génère une clef unique propre à la machine.

    là ca devient interessant
    Tu peux me donner des détails?

  20. #20
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    tout tient en 3 lettres : "WMI".
    Dedans il y a tout ce qu'il faut pour trouver une info propre à la machine sur laquelle est exécutée l'appli.
    Ensuite, à vous de trouver quelle info vous parait la mieux appropriée servir de/générer votre clef unique.
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Comment faire un splash screen pour son application?
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/04/2007, 14h28
  2. Protection de son application
    Par FFF dans le forum Sécurité
    Réponses: 14
    Dernier message: 22/11/2005, 14h55
  3. Comment protéger efficacement son application ?
    Par RamDevTeam dans le forum EDI
    Réponses: 3
    Dernier message: 15/11/2005, 09h41
  4. [debutant] question sur JCreator ? (son classpath)
    Par easyman dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 3
    Dernier message: 25/10/2005, 08h56
  5. [Debutant][Conception][appli] locker une application
    Par floweez dans le forum Général Java
    Réponses: 6
    Dernier message: 25/11/2004, 09h22

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