Ohje ohje... Mach dir doch bitte einmal den Unterschied zwischen Clientseitigen und Serverseitigen Programmiersprachen klar.
Ich versuche das mal in einfache Worte zu packen, wieso dein vorhanden so nicht sicher sein kann.
Was ist Javascript
Natürlich eine clientseitige Scriptsprache die der Browser ausführt. Wie du sicherlich schon gesehen hast, gibt es in diversen Browsern diverse Tools um Javascript auszuführen, zu analysieren etc.
Dein Hauptproblem (so wie ich das momentan sehe) ist, dass du nicht erkennst, dass der Nutzer deinen Javscript-Code nach belieben pausieren, stoppen, ändern kann. Das heißt auch wenn deine Datenbank verschlüsselt ist braucht er nur die Codeausführung nach der Entschlüsselung stoppen und kann dann auf alles zugreifen (da es ja entschlüsselt ist).
Du lieferst deinen Quellcode im Klartext aus. Das heißt der User kann auf alles zugreifen. Das ist auch der Unterschied zu serverseitigen Programmiersprachen. Dabei wertet der Server die Anfrage aus und kann überprüfen ob sie überhaupt legitim ist und liefert anschließend ein Ergebnis zurück. Bei einer Serveranwendung kann ich als Client den Code nicht manipulieren und ebenfalls nichts tun (wenn es denn richtig umgesetzt ist), was vom Programmierer nicht gewollt ist.
Quote:
|
kann auch sagen das Kein Server auf der Welt sicher ist...brauch ja nur das Passwort
|
Bei einer normalen Client-Server Kommunikation kennt der Client ja das DB Passwort überhaupt nicht beziehungsweise hat keinen direkten Zugriff auf die Datenbank. Das regelt der Server der entscheidet was der User darf oder eben auch nicht.
Quote:
Das "Project" muss auf einem Usb-Stick laufen können, ohne Internet laufen können, auf Jeden Rechner laufen können(Auch welche ohne Java)...
Also wenn ich sage es muss so laufen können, könnt ihr nicht einfach sagen : "mach es auf einem Server"....
So eine Antwort könntet ihr auch keinen Kunden geben, wenn ihr eine Firma hättet z.b. .....
|
1. Auf fast allen Rechnern läuft Java
2. Was machst du denn wenn nur alte Browser vorhanden sind, die die JS-Techniken die du verwendest eventuell gar nicht unterstützen?
3. Entsprechende Runtimes kann man auch auf den USB-Stick packen
4. Ja das sage ich zu meinen Kunden. Beziehungsweise würde ich sagen, dass das Blödsinn ist das per JS machen zu wollen. Wenn eine compilierte Sprache, wo man den Code nicht manipulieren kann.
Als Entwickler sollte für dich die Sicherheit immer die höchste Priorität haben.
Edit
Eventuell verstehen wir dich auch alle falsch. Was meinst du denn genau mit sicher? Meinst du damit, dass falls der USB-Stick verloren gehen sollte ein fremder nicht auf die Daten zugreifen kann? Oder meinst du, dass der Nutzer (für den es gedacht ist) nicht machen kann was er will?
Beim 1. Fall nehme ich alles zurück was ich gesagt habe, da spielt es natürlich keine Rolle ob der Code manipulierbar ist sofern der Stick nicht wieder an den Nutzer geht (manipuliert ohne dessen wissen), da ja nur der Nutzer das Passwort für die Entschlüsselung kennt.
Ich denke mal, dass bisher alle eher vom 2. Fall ausgegangen sind.