Implementazione di un sistema di codice prodotto?

0

Dire che ho un software pezzo che consente alle persone di scaricare una versione di prova che può essere sbloccata. I seguenti passaggi potrebbero essere un modo efficace per implementare un sistema chiave per lo sblocco del software?

  1. L'utente può scaricare la versione di prova del software. Per acquistare devono accedere al sito Web e inserire i dati di pagamento e una email.
  2. Da questa email viene generato un hash MD5. Questo hash è memorizzato in un DB controllato da me e anche inviato via email all'acquirente.
  3. L'utente prende l'hash dall'email, lo inserisce nel software. Il software invia questo come parte di una richiesta HTTP a un servizio web che controllo.
  4. Il servizio web contrassegna questo hash come "usato". Invia quindi una risposta che indica che il software dovrebbe sbloccare. Una volta che un hash è contrassegnato come "usato", non può essere utilizzato per sbloccare nuovamente.

Qualcuno può vedere problemi con questo piano? C'è un metodo diverso che dovrei usare per qualcosa di simile?

    
posta Abe Miessler 24.03.2014 - 21:34
fonte

1 risposta

2

Ci vorrebbe (e chiunque abbia un proxy HTTP) esattamente 2 minuti per sconfiggere questo tipo di misura protettiva.

L'unica misura di protezione efficace per il software non è quella di inviarlo all'utente. Per esempio. puoi includere solo metà della funzionalità nella versione demo. Quando l'utente desidera eseguire l'upgrade alla versione completa, prende i suoi soldi, dagli un link per scaricare la versione completa.

Oppure potresti fare parte del software come servizio, a seconda di ciò che fa, l'utente può inviare i dati al tuo server, e quindi esegui l'azione o meno a seconda se pagano i clienti.

    
risposta data 24.03.2014 - 21:57
fonte

Leggi altre domande sui tag