Mettre en place une date d'expiration sur un programme VB .net

Signaler
Messages postés
2
Date d'inscription
mercredi 17 septembre 2008
Statut
Membre
Dernière intervention
17 septembre 2008
-
Messages postés
282
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
15 août 2012
-
bonjour,
je voudrai insérer dans mon programme VB.net une date d'expiration à partir de laquelle un utilisateur ne pourra plus utiliser ce programme (que je livrerai en version release). J'ai pensé à insérer une condition du genre :
Dim dt As new DateTime(Date.time.now)
Dim dtexp As new DateTime("la date d'expiration")
if dt.Sustract(dtexp) = 0
j'envoie un message d'erreur

le problème c'est que si l'utilisateur change la date sur son PC il pourra encore l'utiliser
est-ce que qqn aurait une autre solution???
merci

5 réponses

Messages postés
96
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
10 mars 2011
2
Bonjour, je me suis posé le même pb il y a quelque temps. J'ai contourné le problème en stockant à chaque ouverture du programme la date d'ouverture (endroit caché et crypté).
Puis à chaque ouverture, je vérifie que date_ouverture <= date_fin_des_droits et que date_ouverture>= date_derniere_ouverture_enregistrée.
Certainement insuffisant pour arrêter un pro, mais assez pour des utilisateurs 'standards'
Messages postés
169
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
17 août 2010
1
Salut,
Je te conseilles de passer par le registre, tu inscris une clef "date maxi" par exemple qui sera initialisé en fonction de la date à laquelle le programme a été ouvert la première fois. Ensuite, à chaque ouverture tu regardes si la date n'est pas dépassée.
Pour éviter un changement de date, tu dis qu'a chaque fois que la date change (par exemple de 30/06/2008 à 25/02/1971 s'il a changé la date) et bien sa compte 1 jour de plus, que tu déduis au temps initial.
Messages postés
2
Date d'inscription
mercredi 17 septembre 2008
Statut
Membre
Dernière intervention
17 septembre 2008

merci de vos reponse
Papymuso est ce que tu peux expliquer un peu plus ta pethode du "un jour de plus"
j'ai un peu de mal à comprendre ....
Messages postés
169
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
17 août 2010
1
Je vais essayer d'être le plus clair possible.
Deja il faut savoir que ce à quoi je pense est un peu du code bourrin ^^

Il te faudra inscrire plusieurs clefs :
Deja, une clef servira à dire la date à laquelle tu as installé le prog.
Ensuite, quand tu ouvriras le programme, tu inscriras la date d'ouverture dans une nouvelle clef.

Le principe : quand le gars ouvre le programme, le programme regarde la date d'aujourd'hui et la compare avec la dernière date d'ouverture (contenue dans la clef). Si elle change, ça veut dire qu'un "essai" du programme a été utilisé. Tu inscris donc le nombre d'essais dans une autre clef.
Comme sa, si le gars change la date, tu auras quand meme une idée du nombre d'essais (sauf si il met la meme date que celle du jour d'installation).
Arrivé au bout de 30 essais par exemple, tu bloques le programme.

Bon c'est un peu tiré par les cheuveux hein ^^
Mais sa pourrait etre une piste pour toi ^^

En espérant t'avoir un peu plus éclairci et t'avoir donné des idées,

-Papymuzo-

Bonne prog !
Messages postés
282
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
15 août 2012
2
il y a déjà eu de nombreuses discussions à ce sujet par le passé.  La solution parfaite n'existe pas! Et il sera toujours possible de déjouer ta sécurité.  Le mieux que tu puisses faire est de compliquer la tâche sans donner des indices claires dans les fichiers et le registre. J'ajouterai que si tu laisses tes dates en clair dans le registre, il sera extrèmement facile pour quelqu'un qui a la moindre connaissance des registres de contourner ta protection.  Penses à encrypter les dates ou encore à utiliser une date référence antérieure (exemple 1 janvier 2005) et inscrit le nombre de jours passés entre cette date et la date d'installation dans le registre avec une clé qui n'a pas un nom trop significatif.  A chaque ouverture tu compares la différence en jours entre la date actuelle et la date de référence et si la différence entre cette date .  Si cette différence et le nombre de jour inscrit dans le registre est plus grand que 30, ne part pas l'application ou affiche un message d'acheter le produit.