Newsgroup: it.comp.appl.access
Titolo: sicurezza/no copie...

Mi stavo chiedendo se esite un metodo per evitare la copia non autorizzata
del DB...
Se io fornisco il progr DB ad un mio cliente lui lo può copiare su qualsiasi
altro PC....
Come fare per impedire ciò ?
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.435 / Virus Database: 244 - Release Date: 30/12/02

 ha scritto nel messaggio
news:gQgW9.19391$YG2.5...@twister1.libero.it...

Puoi inserire un codice vba che all'apertura del programma la prima volta
recuperi le informazioni del computer (trovi sul sito comune) .
Fai generare un chiave cliente .
Il cliente ti dovrà dare la chiave e tu gli fornirai Una pasword d'accesso
(naturalmente la password la generi a partire dalla chiave che lui ti ha
dato)
che dovrà usare per aprire il programma.
é un po laborioso, ma se il cliente dovesse installare l'applicativo su un
altro computer, le informazioni che gli generano la chiave sarebbero
diverse, e quindi la password che tu gli hai fornito non aprirebbe il
database.
Forse non sono stato chiaro.
Fammi sapere se non hai capito bene.
Stefano


Ciao, Marco.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.423 / Virus Database: 238 - Release Date: 25/11/2002


Ti consiglio di visitare questo sito 
http://www.activelock.com/it/faq.html
Troverai quello che ti serve
Max

 Ciao, Marco.
Vai sul Sito Comune (link qui sotto) e nella Sezione General leggi la FAQ di
Giacomo Arena intitolata "Come impedire la copia degli applicativi usando il
numero seriale dell' hard disk"; naturalmente fai il download del database
di esempio allegato alla FAQ.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


Grazie, ma il download non funzia... :(
Marco
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.443 / Virus Database: 248 - Release Date: 10/01/2003

 di esempio allegato alla FAQ.
Come dicevo, il punto di partenza è il seriale dell'HD, ma come faccio a
creare una chiave basata su quel codice??
L'esempio riporta un sistema in cui la chiave di sblocco è sempre la stessa,
quindi una volta conosciuta andra bene su tutti i PC  :(
Marco
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).


 Marco
Il programma è fatto in modo che, una volta avviato e fornita la prima volta
la password, il programma non te la chiede più: a questo punto però, se
provi a duplicare il database (anche nello stesso PC), il databse duplicato
non si apre: in apertura ti chiede la password ed anche se gliela dai
corretta comunque chiude il database.
Insomma, quando tu consegni l'originale, al primo lancio viene richiesta la
password ed il database (se digiti la password giusta) viene aperto; da quel
momento, se duplichi il database, non riuscirai mai ad aprire il database
duplicato.
Prova e vedrai.


 ha scritto nel messaggio
news:rhWW9.26195$YG2.7...@twister1.libero.it...

Il tuo programma dovrà generare (nel computer del cliente) un codice di
attivazione
Basato sull seriale del HD e sulla sua ragionesociale (es PI o CF) puoi
usare un qualsiasi algoritmo per crearlo, ne trovi anche sul sito comune
ora il cliente ti da il codice generato sul suo computer, tu lo inserisci
nel tuo dove hai creato una funzione "generapasword "che presa una stringa
di ingresso ti da un altra stringa che usi come chiave
Lo puoi fare come vuoi (importante è che alla stessa stringa d'ingresso
corrisponda la stessa stringa d'uscita).
nel programma del cliente ci sarà una funzione Verifica password (che
equivale alla tua generapasword cioè rigenera "codice di attivazione" e la
chiave se la chiave immessa dal cliente è uguale allora
la registra in una tabella  in modo da non doverla chiedere più
altrimenti darà il messaggio di pasword errata.
se vuoi fare qualcosa di più solido puoi anche mettere una data di validità
dopo la quale verrà calcolato una nuova stringa di ativazione
e ilcliente dovrà chiederti una nuova pasword.
Io uso questo sistema e una volta l'anno i clienti devono richiedere la
pasword.
Se il cliente cambia computer naturalmente avrà bisogno di una nuova
pasword.
Vedrò di mandare un esempio chiaro al sito comune appena possibile.
Stefano

 ha scritto nel messaggio
news:gQgW9.19391$YG2.5...@twister1.libero.it...

IO per il mio database ho fatto una cosa simile. tramite codice ho rilevato
il numero del Hd e poi qal' primo avvio il Db chiede di registrarsi, Quindi
viene inserito il nome del cliente il cognome ecc. ecc.
Fatto questo tramite qualche formuletta di tua invenzione ( che ovviamente
non dovrai dire a nessuno) ti crei una serie di numero a tuo piaciumento e
ci infili dentro anche il numero del Hd.
A questo punto Quando il cliente avrà messo tutti i suoi dati, ti dovra
contattare e ti dovrà dare un numero che tu tramite un Db che calcola la
chiave al contrario gli ridarai un altro numero ( tipo quello che fa
Microsoft con il suo Windows Xp) il cliente lo inserire e Woilà il gioco è
fatto, il numero che esace fuori lo puoi memorizzare al interno di una
tabella dove dovrai metter anche l'anagrafica del cliente. che ovviamente
dovrà essere stampata su ogni report che verrà stampato, così da
personalizzare al massimo il programma.
Se il cliente cerca di modificare la registrazione cambiando il nome, all'
apertura del programma il numero ( Chiamiamolo numero di serie ) non
corrisponderà più al numero da lui inserito la prima volta e così il
programma si blocchera ( oppure cancellerà la chiave opppure dara un
messaggio di errore o quello che vuoi tu.
L'unico problema di questo sistemino è che se io uso il ghost per clonare
l'Hd il sistemino è fregato.
Ti allego uno stralcio del codice che ho fatto io, ovviamente modificato, se
no apriresti tutti i miei programmi.
    ' *********************************************** LETTURA NUMERO SERIALE
HARD DISK
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set d = fs.GetDrive("c:")
    SerilN = d.SerialNumber
    SerilN = Right$(SerilN, (Len(SerilN) - 1))
    SN = Str(SerilN)
    Testo36 = SN
'***************************************************************************
***********
    ********************************* LETTURA DATI REGISTRAZIONE
    Set t1 = CurrentDb.OpenRecordset("Registrazione")
    Ditta = t1!Ditta
    Indirizzo = t1!Indirizzo
    Cap = t1!Cap
    Telefono = t1!Telefono
    Fax = t1!Fax
    Piva = t1!Piva
    RegImprese = t1!RegImprese
    NumeroSeriale = t1!NumeroSeriale
    t1.Close
    ****************************************************************
    ******************************** COMPOSIZIONE CHIAVE TRAMITE LE
FORMULETTE
    Qui inserisci il tuo codice per creare la chiave.
    Pui memorizzare la lunghezza dei campi e sommare tutti i valori asci
delle lettere che lo compongono
    Poi sommi o sottrrai o fai quello che vuoi tu tramite codice
****************************************************************************
****
    ******************************** CONFRONTO CHIAVE REGISTRATA CON CHIAVE
TROVATA
    If Chiave = NumeroSeriale Then GoTo ChiaveOK
    Qui non fai altro che verificare se la chiave da te trovata è uguale
alla chiave memorizzate.
    Ed il gioco e fatto.
Enrico Pietrobon

 ha scritto nel messaggio
news:d69X9.58549$0v.18...@news1.tin.it...

Più o meno è quello che faccio anche io con la differenza che se inserisci
anche la PI o CF del cliente e nel programmino di calcolo
metti anche il tempo di attivazione
eviti il problema del clone
vedi post prececente
stefano


Scusa cosa intendi con tempo di attivazione legato alla partita Iva o al CF.
????
Enrico Pietrobon

 ha scritto nel messaggio
news:5XxX9.65071$0v.19...@news1.tin.it...

intendo che inserendo la PI o CF del cliente (che normalmente vengono
stampati su alcuni documenti di tutti i programmi)
Nel codice che fai generare tieni traccia anche di questi dati (così un
altro utente non lo può utilizzare)
Per il tempo di ativazione io faccio:
La pasword che do al cliente imposta un periodo di 90 giorni al termine del
quale, viene data al cliente una nuova chiave di attivazione
il cliente mi da la chiave e io gli do una pasword per altri 90 giorni
Naturalmente il tempo di attività lo decidi tu
Per inserire la validità nel codice di attivazione che il cliente ti manda,
devi aggiungere la data di creazione(data deòl giorno in cui viene creata la
chiave di attivazioe) nel generatore di chiavi che hai creato
(vedoi post precedenti)
PS
naturelmente il programma lo fai bloccare se il cliente dopo 5 gornoi che ha
avuto la richiesta della pasword non la inserisce.
Stefano

 ha scritto nel messaggio
news:BPOX9.94254$AA2.4...@news2.tin.it...

Si allora a parte l'attivazione ogni tot giorni, è uguale ai miei prg.
Enrico Pietrobon