2009-04-29 12 views
7

Wir entwickeln eine Java-EE-Anwendung, die von einer beliebigen Kunden-Datenbank unterstützt wird.Wie erstellt man eine sichere lizenzierte Java EE-Anwendung?

Wir verkaufen an Kunden basierend auf Lizenzpreis pro Benutzer. Wie stelle ich sicher, dass die Anwendung gemäß unseren Bedingungen genutzt wird, d. H. Nicht leicht hackbar ist? Gibt es Tutorials?

+2

Bitte lesen Sie http://stackoverflow.com/questions/475216/python-applications-can-you-secure-your-code-somehow. Andere Sprache, aber gleicher fehlgeleiteter Ansatz. –

+1

Ich lese die Antworten für diese Frage, aber es ist nicht was ich will. Ich weiß, dass alles hackbar ist, aber zumindest versuchen wir es schwierig zu machen. –

+0

Kommt diese Anfrage vom Management? –

Antwort

5

Bill Karwin's answer war die nützlichste der Antworten aus der Frage in den Kommentaren erwähnt. Angenommen, Sie werden mit einem "Schutz" -System fortfahren, versuchen Sie, das Nötigste zu tun. Alles andere tendiert dazu, die Benutzer immens zu frustrieren und führt zu einem geringeren Wiederholungsgeschäft und/oder zu einem erhöhten Verlangen, das frustrierende System zu hacken.

Aus Ihrer Frage ist es schwer zu sagen, ob jeder Benutzer die Anwendung installieren wird. Wenn dies der Fall ist, benötigen Sie wahrscheinlich nur einen Lizenzcode, den Sie in irgendeiner Form kontaktieren müssen. Wenn es sich um eine Client-Server-Sache handelt, sind Ihre Möglichkeiten viel begrenzter. tatsächlich kann ich nicht an eine einzelne Lösung denken, die ich jemals in meinem Kopf entworfen habe oder die in der Praxis nicht massiv frustrierend ist. Sie könnten hier wahrscheinlich auch eine Lizenzcodelösung verwenden, mit der Ausnahme, dass der Lizenzcode eine Payload mit der Anzahl der Nutzer enthält, für die sie bezahlt haben, und die Erstellung/Verwendung von Benutzern, die diese Zahl überschreiten, nicht erlaubt. An diesem Punkt gehst du wirklich die Frustrationslinie, die ich erwähnt habe.

+0

Es ist eine Client-Server-Anwendung. Benutzer verwenden Broswer als Client. Der Server wird im Kundennetzwerk installiert. Jeder Benutzer erhält ein Konto, das von seinem Administrator erstellt wird, jedoch bis zu der Nummer, für die er die Lizenz erworben hat. Wenn sie das Maximum erreichen und mehr Lizenz wollen, können sie es einfach kaufen und die Lizenz in ihrem System aktualisieren und schon kann es losgehen. –

+0

In diesem Fall würde ich sagen, den Lizenzschlüssel zu verwenden, um anzuzeigen, dass der Cutoff der richtige Weg ist. –

3

Wenn Sie verschleiern können - das ist der Weg für einen Start. Aber es könnte schmerzhaft sein, wenn Sie die Inversion von Kontrollrahmen (z. B. Frühling) verwenden. Ich habe gehört, dass es möglich ist, den Kontext des Frühlings zu verschleiern, habe es aber nie versucht. Auch (nur raten) könnte es einige Überraschungen mit Reflexionen, dynamischen Proxies und dergleichen geben. Bezüglich der Lizenzierung kann ich vorschlagen, TrueLicense zu verwenden. Es bietet sehr flexible Möglichkeiten zur Handhabung verschiedener Aspekte des Schutzes sowie kostenlose Testphasen von Anfang an. Funktioniert sehr gut und hat eine großartige Dokumentation.

0

Bezahlen Kunden für die Unterstützung dieser Anwendung? Wenn dies der Fall ist, besteht die Chance, dass sich die Unterstützung stärker auszahlt als die Lizenzierung der Anwendung selbst. Wenn ja, können Sie nicht das Sperren der Anwendung, sondern die Wahl, nur die Unterstützung für authentische Kopien der Software (unmodifizierte Kopien bewiesen durch Prüfsummen und die solche) bieten. Viele Unternehmen, die diese Software lizenzieren, neigen eher dazu, Änderungen zu vermeiden (auch wenn die Wahrscheinlichkeit, dass sie das tatsächlich tun, wahrscheinlich gering ist), um ihre Unterstützung nicht zu gefährden.

FYI: So arbeitet Oracle mit seiner e-Business Suite. Sie können so ziemlich jede beliebige Komponente modifizieren. Viel Glück bei der Unterstützung!

0

Schauen Sie sich an, wie Atlassian ihre Produkte verkauft. Ich glaube, das ist ein Ansatz, der sehr gut funktioniert, und wahrscheinlich auch für Sie. Hinweis: Beim Abonnieren von Updates sollte ein Mehrwert geschaffen werden!

Verwandte Themen