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

WinDev Discussion :

Protéger un logiciel par clé [WD16]


Sujet :

WinDev

  1. #41
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 801
    Points
    3 801
    Par défaut
    Bonjour,

    Lors de l'envoie de ta demande de licence tu peux aussi t'envoyer le numéro du disque dur de la machine sur lequel ton logiciel est installé.
    Ainsi tu peux vérifier si la demande de licence a déjà été demander.
    Ensuite en cas de changement de disque dur tu oblige le client à t'appeler directement.

    Tu peux aussi, lors de la procédure d'installation, créer un numéro unique dans la base de registre.

    Ce qui te fais lors de la demande d'activation.
    Un numéro d'installation, un numéro de série du disque, plus un code d'activation.

    Donc en gros lors de ta demande de licence tu t'envoie un numéro d'identifiant de la machine et un numéro de demande d'activation.

    Regarde le sujet suivant

  2. #42
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Est-il possible de généré coté client une clé unique avec par exemple adresse MAC ou le numéro de série du disque dur ? Mais vraiment unique à chaque exécution de cette génération de clé ?

    Dans le but de générer cette même clé au démarrage de l'application et donc pouvoir vérifier avec une clé d'activation elle aussi unique ?

    Merci

  3. #43
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 801
    Points
    3 801
    Par défaut
    Bonjour,

    Dans l'aide des fonctions d'activation il y a la possibilité de générer la clé initiale en se basant sur un identifiant qui tu définit. (dans mon idée en suivant le lien que je t'ai mis dans mon précédent post)
    Puis à l'aide de la fonction "CléRécupèreIdentifiant" tu peux récupérer cette identifiant que tu garde en mémoire.

  4. #44
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 178
    Points : 416
    Points
    416
    Par défaut
    Je plussoie l'utilisation de CléRécupèreIdentifiant, qui vous permet de récupérer ce dernier .

    Cependant attention à la longueur de la clé :
    si le paramètre <Identifiant> est spécifié, la clé initiale comportera 20 caractères plus 2 caractères par lettre contenue dans le paramètre <Identifiant>.
    Exemple : L'identifiant comporte 5 caractères. La clé générée correspondra à 20 + (2 * 5) = 30 caractères.

  5. #45
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Oui mais récupérer l'identifiant, ce n'est pas le souci.

    Quelle procédure faites-vous pour vérifier la licence au démarrage de vos applications ?

    Je ne comprends pas comment ont peux vérifier si la licence est bonne si la clé change tout le temps...

  6. #46
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 343
    Points : 9 482
    Points
    9 482
    Par défaut
    Dans le cas que cite Sylvain, c'est fixe comme tu le souhaites.

    Dans le cas d'une clé variable, elle est basée sur des éléments fixes (mac, disque, etc,...) + le timestamp.

  7. #47
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    J'ai vu le sujet de JP, son code récupère des infos hard... ok. çà c'est bon, pas besoin de crypter ces données pour me les transmettre par Internet par exemple.

    Vous n'avez pas répondu à ma question de tout à l'heure :

    "Quelle procédure faites-vous pour vérifier la licence au démarrage de vos applications ?"


  8. #48
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 343
    Points : 9 482
    Points
    9 482
    Par défaut
    J'ai oublé de te répondre...

    Au lancement, tu vas vérifier une ou plusieurs clés dans la base de registre. Si elles ne sont pas présentes, arrêt de l'appli.
    Si présentes, alors vérifie la durée d'utilisation restante avant demande d'activation. Si période expirée, alors fenêtre (bloquante) de saisie de la clé d'activation. Si fermeture sans saisie -> fermeture appli.
    Finalement vérif de la validité de la clé avec fermeture si non valide...

  9. #49
    Membre actif
    Avatar de alexeyk
    Homme Profil pro
    test
    Inscrit en
    Mai 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : test

    Informations forums :
    Inscription : Mai 2008
    Messages : 62
    Points : 200
    Points
    200
    Par défaut
    Moi perso :
    -je crée un fichier unique sur mon serveur web pour chaque licence
    -je mets une clé de vérification cryptée dans le fichier
    -j'envoie par mail la clé dé vérification au client
    -il rentre son mail et la clé dans l'appli
    -l'appli fait une requête HTTP sur le serveur web, décrypte le fichier et vérifie la clé envoyée par mail
    -si OK sauve l'info en local pour l'activation sans internet (mode déconnecté)
    -si internet connecté et pas de fichier sur le serveur web ou échec vérifications infos cryptées -> blocage appli -> exit
    -pour bloquer une licence (piratée) il suffit d'effacer le fichier sur le serveur web
    -pour identifier une clé piratée il suffit de regarder les stats HTTP (ex. Stats Urchin Chez OVH sur le dossier web) : si trop de requêtes sur un fichier à partir de trop d'adresses IP -> licence piratée -> suppression fichier web -> blocage appli -> suppression fichier de validation local
    -pour sécuriser le dossier web avec les fichiers de licences tu peux ajouter un .htpassword -> requêtes HTTP authentifiées depuis Windev
    -pour éviter de trainer le mot de passe htpassword dans le code de l'appli tu peux le mettre dans un fichier crypté sur le serveur web, comme ça tu peux le changer si nécessaire

    Avantages de ma méthode :
    -l'appli peut être déplacée d'un PC à un autre sans invalider la licence (appli portable)
    -le principe est universel : requête http + crypte/décrypte + calcul d'url unique à partir de l'adresse mail
    -ne nécessite pas de choses compliquées : pas de base de données, pas de web-service, pas de code coté serveur
    -renouvellement clé licence facile : il suffit de recalculer le fichier web et d’écraser l'ancien, puis renvoyer le nouveau code au client
    -sécurité : url unique pour chaque client / fichier crypté / clé envoyée par mail
    -stats faciles : il suffit de consulter les stats web sur le dossier licences

    Cordialement,

    Alex

    Citation Envoyé par WDKyle Voir le message
    ...

    Vous n'avez pas répondu à ma question de tout à l'heure :

    "Quelle procédure faites-vous pour vérifier la licence au démarrage de vos applications ?"


  10. #50
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Bonjour,

    Je sais que le post est vieux mais on ne sait jamais qui aurait besoin d'aide un jours, j'ai moi même crée mon propre système d'activation pour mon logiciel de sécurité.

    J'ai fait une base SQL avec 3 tables (user,computer,keys)

    user ( je croit que tout le monde c'est ce que sa signifie en gros) email, password... et TOKEN

    computer : nom du poste, product_id (de windows), token,user_link ... ect

    keys : clé, token, pc_link, user_link, daysleft, statut... ect


    Donc, voila comment l'utilisateur entre sa clé; Lors de son achat sur votre site web (ou peut importe l'interface) l'utilisateur s'enregistre pour pouvoir acheter sa licence(d'où le 'user'). Lors de son achat, un système crée une nouvelle clé dans 'keys' où 'user_link' sera identique à 'user.token' (donc cet clé, seul cet utilisateur peut l'activer). Ensuite lors de l'activation sur votre logiciel, si l'a clé est disponible(on y reviendra plus bas) on ajoute un 'computer' où 'user_link' sera identique à 'user.token'. On met a jour 'pc_link' dans 'keys' pour 'computer.token'(donc si l'utilisateur veut activer plusieur poste avec une seul clé, il ne pourra pas. Il devra se connecter sur son compte et supprimer la clé relié à l'ordinateur).

    Et bien sur, pour plus de vérification, on demande à l'utilisateur de se connecter à chaque ouverture de windows (Se souvenir de moi pour faire moins lourd) et on vérifie que le poste en cours est bien relié à la clé enregistrée sinon on désactive...

    J'espère que ma solution vous éclairera pour faire votre propre système de licences.

    Salut !

    EDIT :

    Et pour répondre à certains,

    utilisé le product_id de windows qui lui est unique peut importe la machine.

    Contrairement à l'adresse Mac ou le # de série de disque qui sont modifiable, le product_id entrainera des problèmes du coté de Windows lui même s'il est modifié.

    dsl du double post

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Ouvrir/afficher un fichier avec son logiciel par défaut
    Par Alain P. dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 20/06/2009, 18h47
  2. [JPasswordField]Protéger un bouton par Mot de passe
    Par leminipouce dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 23/12/2006, 20h39
  3. Aide pour protéger un logiciel creer par delphi
    Par osma_1978 dans le forum Delphi
    Réponses: 2
    Dernier message: 02/09/2006, 22h50
  4. [HTML] Protéger un lien par un mot de passe et un login
    Par lyim dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 24/05/2006, 20h08

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