193 messaggi dal 12 febbraio 2016
Buon pomeriggio a tutti,
per un sito web di un mio cliente avrei la necessità di creare una specie di licenza. L'unica soluzione che ho finora pensato è quella di utilizzare un oggetto HttpWebRequest: faccio una richiesta sul mio sito trasmettendo ad esempio il dominio del mio cliente. La pagina sul mio dominio restituisce true o false. Va bene come soluzione o mi consigliereste una migliore?
Ciao
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Piero,


Va bene come soluzione o mi consigliereste una migliore?

Dipende da quant'è l'entità del danno che ti verrebbe causato se il tuo software venisse piratato. Se il danno non è ingente e pensi che basti una protezione blanda, allora *potrebbe* essere sufficiente la soluzione che hai spiegato. Tieni presente che un utente esperto sarà in grado di bypassare quella protezione in 10 minuti o modificando i tuoi assembly o dirottando la richiesta verso una sua pagina che risponde sempre True.

Se pensi che il danno sia ingente, puoi ricorrere a soluzioni di terze parti (gratuite o commerciali) oppure pensare di offrire il servizio col modello software-as-a-service (ti occupi tu dell'hosting e chiedi il pagamento di un canone mensile ai tuoi clienti, così che tu non debba mai distribuire il programma). SaaS è un modello molto comune, ma devi valutare se è idoneo al tuo scenario.

ciao,
Moreno
Modificato da BrightSoul il 19 agosto 2016 23.38 -

Enjoy learning and just keep making
193 messaggi dal 12 febbraio 2016
Buongiorno Moreno,
grazie per le delucidazioni, ogni volta esprimi tutti i vari concetti in maniera semplice, grazie.

Il sito web per cui ho la necessità di verificare la "licenza" lo utilizza solo il mio cliente, quindi nessuno altro ha accesso al codice sorgente e quindi credo che seppur blanda, questa soluzione mi copra le mie necessità.

Ma giusto per capire e imparare nuovi concetti, un altro sviluppatore esperto come potrebbe modificare la richiesta senza modificare il mio assembly? Supponiamo che abbia l'accesso ftp, oltre a modificare l'assembly, come potrebbe violare la licenza?

Vedrò comunque i link segnalati per approfondire la modalità Saas, grazie per i tuoi consigli.

Saluti
Piero
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Piero,


un altro sviluppatore esperto come potrebbe modificare la richiesta senza modificare il mio assembly

Se ha accesso amministrativo al server, potrebbe osservare il traffico di rete con un web debugger tipo Fiddler, e vedere che l'applicazione invia una richiesta HTTP ad un tuo server con un certo contenuto (ed ottiene una certa risposta).

Poi, modificando il file hosts di Windows, potrebbe modificare la risoluzione del nome a dominio del tuo server con un IP locale, sul quale è in ascolto una pagina appositamente preparata da lui che risponde ciò che risponderebbe la tua.

Se la pagina risponde sempre la stessa cosa (es. "True"), è molto facile riprodurre lo stesso comportamento. Se invece usa un algoritmo per calcolare e restituire indietro un codice di validazione, allora sarà un po' più complicato ma comunque fattibile una volta che lo sviluppatore esperto avrà visualizzato il tuo codice con un decompiler tipo JustDecompile e avrà visto con che logica esso viene validato.

ciao,
Moreno

Enjoy learning and just keep making
193 messaggi dal 12 febbraio 2016
Ciao Moreno,
grazie di tutto come sempre, alla prox!

Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.