Cessione licenza a tempo con vb5/6

satriano

Nuovo Utente
12 Mar 2006
2
0
0
salve
sono nuovo in questo forum

Vorrei mi consigliaste un metodo sicuro di concessione licenza di un dato software ad un utente, in modo che dopo il periodo dato (presente gia nel codice prima della compilazione) il programma non funzionasse piu.
Avevo pensato a dateDIff o inserire una data limite gia nel codice, ma questo sarebbe aggirabile tramite continuo cambiamento della data del computer.

Quale tecnica mi consigliate? INoltre, essendo io un principiante, vorrei gentilmente chiedervi, se possibile, di fare un esempio pratico del vostro consiglio, con un codice esempio che mi illustri chiaramente il metodo.

Grazie infinite. satriano
 
Ciao,
ho già affrontato il problema, purtroppo in questo momento non posso postarti la soluzione, per ora te la spiego.

Ad ogni avvio dovresti controllare se la data di accesso attuale è uguale o successiva all'ultima data di accesso salvata.
In caso affermativo dovresti salvare la data di accesso al programma nel database.

In caso negativo lo blocchi.

Naturalmente in caso di blocco ti consiglio di salvarti nel database un ulteriore campo che ti informi se il programma è stato bloccato oppure no.

Se hai problemi possiamo scendere più nel dettaglio.

:byebye:
 
Sono, purtroppo , un dilettante ai primi....comandi !

Gradirei se possibile un esempio di codice per risolvere il problema. In questo modo posso 'imparare' subito la procedura e modificarla poi secondo la necessita precisa.


.
grazie per la pazienza. satriano
 
Eccoti la soluzione

Non posso postarti il mio codice perchè è leggermente articolato, e rischi di non uscirne più(a volte mi ci incasino anke io :jolly: )

Ti premetto che quando vedi il codice scritto in Rosso vuol dire che devi scrivere i dati nel database oppure in qualsiasi altro posto in cui decidi di conservare le variabili.

'Fase A: Le Variabili
'Step 1: Le date
Hai bisogno di conservarti da qualche parte(registro, database, .ini) la data di scadenza del software(DataScad) e la data dell'ultimo accesso(DataUlt).
Scegli tu dove memorizzare i dati, per me è indifferente.
Inoltre chiamiamo DataOggi la data al momento dell'accesso che stiamo effettuando.

'Step 2: Bloccare il Programma
Nello stesso posto delle date salva anche un campo Lock, che ci servirà a capira se il programma è bloccato oppure no.

'Fase B: Il Programma vero e proprio
'Step 1: Controllo del valore Lock
All'avvio del programma effettua un check del tipo
IF Lock="S" THEN END

In questo modo se il programma risulta bloccato ci fermiamo subito senza perdere tempo come fanno molte applicazioni.

'Step 2: Controllare la data di scadenza
Puoi effettuare il seguente controllo tra le date:
IF FORMAT(DataScad, "YYYYMMDD") < FORMAT(DataOggi, "YYYYMMDD") THEN
DataUlt=DataOggi
Lock="S"
END
END IF

'Step 3: Controllare la data di accesso
In genere i clienti non sono molto intelligenti, e aspettano che il programma si riveli bloccato prima di spostare la data.
Ma se il cliente è intelligente cambierà la data prima della scadenza.
Allora noi mettiamo un ulteriore blocco:
IF FORMAT(DataOggi, "YYYYMMDD") < FORMAT(DataUlt, "YYYYMMDD") THEN
Lock="S"
END
END IF

In questo modo se l'accesso viene effettuato con una data precedente a DataUlt il furbastro si è bloccato da solo. :mavieni:

'Fine

NB: Naturalmente questo, come tanti altri sistemi di protezione, ha le sue falle più o meno gravi.
Se vuoi le possiamo analizzare con calma, e credo che se luke ha tempo potremmo avvalerci anche del suo supporto.
 

Discussioni simili