2017-01-02 2 views
0

Ich habe eine Anwendung, die ein .properties Daten mit Passwort aus der DB verwenden, wird diese Anwendung von meinem Client verwendet, aber ich möchte ihm keinen Zugriff auf diese Eigenschaften geben Daten, nicht einmal wenn wir in das .jar schauen. Ich dachte, zip4j zu benutzen, aber gibt es irgendeine andere beste Lösung für dieses, weil, wenn ich es entzippe, die .properties irgendwo dekomprimiert werden, die dem Klienten Zugang geben, nicht es ??Verwenden Sie Dateidaten, ohne jemand anderen die Erlaubnis zu geben

+0

gut, wenn Sie es in JAR-Datei einfügen, wird es sowieso zugänglich sein. –

Antwort

3

Dies ist nicht möglich. Vergessen Sie diese Idee und denken Sie über Ihr System nach. Sie können keinen Lesezugriff bereitstellen, der nicht gleichzeitig Lesezugriff bietet.

Dies ist ein feuchter Traum von rechtlichen Schulden in der Medienbranche. Sie investieren viel Geld in die Lösung dieses unlösbaren Problems mit DRM, das nie funktioniert, aber jeden ärgert.

Sie können es ärgerlicher machen, die Daten zu extrahieren - mit verschiedenen Verschleierungstechniken - aber das ist alles.

Eine dieser Ideen ist, das Passoword in C++ - Bibliothek zu codieren und es über JNI zu verknüpfen. Dann kann der Benutzer es nicht extrahieren, ohne die Binärdatei zu zerlegen, aber es wird trotzdem in der Lage sein, einen Speicherabzug zur Laufzeit durchzuführen.

Sie können das Kennwort zur Laufzeit vom zentralen Server lesen. Sie können dafür Einmalpasswörter verwenden. Auch dies ist nutzlos, wenn der Benutzer nur über geringe technische Fähigkeiten verfügt, da Sie den Server immer noch mit curl oder einem einfachen Skript nach dem Passwort fragen können.

Sie können Hardware-Access-Token verwenden, die Verbindung zur Datenbank (Smart-Card oder etwas) ermöglichen. Dies war eine ziemlich populäre Technik in '90.

Alles, was Sie tun können, ist, ein gewisses Maß an Ärger hinzuzufügen, die nichttechnische Person stoppen wird. Mit genügend Geld können Sie eine anständige DRM aufbauen, die technisch versierte Leute für eine Weile stoppt, aber ich bezweifle ernsthaft, dass es das Geld wert ist.

Wenn der Zugriff auf die Datenbank so wertvoll ist, dass Sie dem Benutzer keinen Zugriff darauf geben können, obwohl er es benötigt, ist Ihr Design beschädigt.

Verwandte Themen