Domanda

Stiamo sviluppando un'applicazione Java EE supportata da qualsiasi database di scelta del cliente.

Venderemo ai clienti in base al prezzo della licenza per utente. Come posso assicurarmi che l'applicazione venga utilizzata secondo le nostre condizioni, ovvero non facilmente hackerabile? Sono disponibili tutorial?

È stato utile?

Soluzione

La risposta di Bill Karwin è stata la risposta più utile delle risposte dalla domanda menzionata nei commenti. Supponendo che andrai avanti con una "protezione". schema, prova a fare il minimo indispensabile. Qualsiasi altra cosa tende a frustrare immensamente gli utenti e porta a una riduzione delle attività commerciali ripetute e / o ad un maggiore desiderio di hackerare il tuo sistema frustrante.

Dalla tua domanda, è difficile dire se ogni utente installerà l'applicazione. In tal caso, probabilmente devi solo richiedere un codice di licenza che devono contattare in qualche modo per ottenere. Se è una cosa client-server, allora le tue opzioni sono molto più limitate; in realtà, non riesco a pensare a un'unica soluzione che abbia mai progettato nella mia testa o trovo in pratica che non sia massiccia frustrante. Probabilmente potresti anche trovare una soluzione per il codice di licenza qui, tranne per il fatto che il codice di licenza avrebbe in qualche modo un payload che indicava il numero di utenti per cui avevano pagato e quindi non consentiva la creazione / l'uso di utenti in eccesso rispetto a quel numero. A quel punto, però, stai davvero camminando su quella linea di frustrazione che ho citato.

Altri suggerimenti

Se puoi offuscare, questo è il modo di iniziare. Ma potrebbe essere doloroso se si utilizza l'inversione di quadri di controllo (ad es. Primavera). Ho sentito che è possibile offuscare anche il contesto primaverile, ma non l'ho mai provato. Inoltre (solo indovinando) potrebbero esserci delle sorprese con riflessi, proxy dinamici e simili. Per quanto riguarda le licenze, posso suggerire di utilizzare TrueLicense . Dispone di mezzi molto flessibili per gestire immediatamente vari aspetti della protezione e periodi di prova gratuiti. Funziona molto bene e ha un'ottima documentazione.

I clienti pagano per il supporto di questa applicazione? In tal caso, esiste la possibilità che il supporto sia un pagamento maggiore rispetto alla licenza dell'applicazione stessa. In tal caso, potresti considerare non il blocco dell'applicazione, ma piuttosto la scelta di fornire supporto solo per copie autentiche del software (copie non modificate provate tramite checksum e così via). Molte aziende che concedono in licenza questo software sarebbero più inclini a evitare qualsiasi modifica (anche se la possibilità che desiderino effettivamente farlo è probabilmente minuscola) al fine di non compromettere il loro supporto.

FYI: ecco come Oracle tende a operare con la sua suite di e-Business. Puoi modificare praticamente qualsiasi componente tu voglia. Buona fortuna per ottenere supporto, però!

Guarda come Atlassian vende i loro prodotti. Credo che questo sia un approccio che funziona molto bene, e probabilmente lo farebbe anche per te. Nota: ci dovrebbe essere un valore aggiunto nell'iscrizione agli aggiornamenti!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top